4 chdir '..' if -d '../pod' && -d '../t';
16 if ($File::Find::name =~ m!^lib\W+(.+)\.pm$!i) {
18 $module =~ s/[^\w-]/::/g;
19 $Core_Modules{$module}++;
23 # Delete stuff that can't be tested here.
25 sub delete_unless_in_extensions {
26 delete $Core_Modules{$_[0]} unless $Config{extensions} =~ /\b$_[0]\b/;
29 foreach my $known_extension (split(' ', $Config{known_extensions})) {
30 delete_unless_in_extensions($known_extension);
33 sub delete_by_prefix {
34 delete @Core_Modules{grep { /^$_[0]/ } keys %Core_Modules};
37 delete $Core_Modules{'CGI::Fast'}; # won't load without FCGI
39 delete $Core_Modules{'Devel::DProf'}; # needs to be run as -d:DProf
41 delete_by_prefix('ExtUtils::MM_'); # ExtUtils::MakeMaker's domain
43 delete_by_prefix('File::Spec::'); # File::Spec's domain
44 $Core_Modules{'File::Spec::Functions'}++; # put this back
46 unless ($Config{extensions} =~ /\bThread\b/) {
47 delete $Core_Modules{Thread};
48 delete_by_prefix('Thread::');
51 delete_by_prefix('unicode::');
52 $Core_Modules{'unicode::distinct'}++; # put this back
54 # Okay, this is the list.
56 my @Core_Modules = sort keys %Core_Modules;
58 print "1..".@Core_Modules."\n";
62 foreach my $module (@Core_Modules) {
63 print "# $module compile failed\nnot " unless compile_module($module);
64 print "ok $test_num\n";
69 # We do this as a separate process else we'll blow the hell out of our
74 return scalar `./perl -Ilib t/lib/compmod.pl $module` =~ /^ok/;