summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-02-04 10:08:11 +0000
committerNicholas Clark <nick@ccl4.org>2009-02-04 17:14:06 +0000
commit0598b5ab3697b872539de6ed6dc1522b873602e1 (patch)
tree8bae50d36447843ff163b3cec051ff7e87131182 /win32
parent1f200948c4c45a9bc088451dd377e4ab8733c722 (diff)
downloadperl-0598b5ab3697b872539de6ed6dc1522b873602e1.tar.gz
A test for FindExt, not run by make test. (Useful for refactoring FindExt.)
Diffstat (limited to 'win32')
-rw-r--r--win32/FindExt.t42
1 files changed, 42 insertions, 0 deletions
diff --git a/win32/FindExt.t b/win32/FindExt.t
new file mode 100644
index 0000000000..cb4de81ed0
--- /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");
+}