From: Nicholas Clark Date: Wed, 4 Feb 2009 10:08:11 +0000 (+0000) Subject: A test for FindExt, not run by make test. (Useful for refactoring FindExt.) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0598b5ab3697b872539de6ed6dc1522b873602e1;p=p5sagit%2Fp5-mst-13.2.git A test for FindExt, not run by make test. (Useful for refactoring FindExt.) --- diff --git a/MANIFEST b/MANIFEST index 2a8f702..bb91a8a 100644 --- a/MANIFEST +++ b/MANIFEST @@ -4362,6 +4362,7 @@ win32/distclean.bat Remove _ALL_ files not listed here in MANIFEST win32/dl_win32.xs Win32 port win32/fcrypt.c crypt() implementation win32/FindExt.pm Scan for extensions +win32/FindExt.t Test FindExt.pm win32/genmk95.pl Perl code to generate command.com-usable makefile.95 win32/include/arpa/inet.h Win32 port win32/include/dirent.h Win32 port diff --git a/win32/FindExt.t b/win32/FindExt.t new file mode 100644 index 0000000..cb4de81 --- /dev/null +++ b/win32/FindExt.t @@ -0,0 +1,42 @@ +#!../miniperl -w + +BEGIN { + @INC = qw(../win32 ../lib); +} +use strict; + +use Test::More tests => 10; +use FindExt; +use Config; + +FindExt::scan_ext('../ext'); + +# Config.pm and FindExt.pm make different choices about what should be built +my @config_built; +my @found_built; +{ + foreach my $type (qw(static dynamic nonxs)) { + push @found_built, eval "FindExt::${type}_ext()"; + push @config_built, split ' ', $Config{"${type}_ext"}; + } +} +@config_built = sort @config_built; +@found_built = sort @found_built; + +foreach (['static_ext', + [FindExt::static_ext()], $Config{static_ext}], + ['nonxs_ext', + [FindExt::nonxs_ext()], $Config{nonxs_ext}], + ['known_extensions', + [FindExt::known_extensions()], $Config{known_extensions}], + ['"config" dynamic + static + nonxs', + \@config_built, $Config{extensions}], + ['"found" dynamic + static + nonxs', + \@found_built, join " ", FindExt::extensions()], + ) { + my ($type, $found, $config) = @$_; + my @config = sort split ' ', $config; + is (scalar @$found, scalar @config, + "We find the same number of $type"); + is_deeply($found, \@config, "We find the same"); +}