3 # Modules should have their own tests. For historical reasons, some
4 # do not. This does basic compile tests on modules that have no tests
14 use File::Spec::Functions;
16 # Okay, this is the list.
18 my @Core_Modules = grep /\S/, <DATA>;
21 if (eval { require Socket }) {
22 push @Core_Modules, qw(Net::Domain);
23 # Two Net:: modules need the Convert::EBCDIC if in EBDCIC.
24 if (ord("A") != 193 || eval { require Convert::EBCDIC }) {
25 push @Core_Modules, qw(Net::Cmd Net::POP3);
29 @Core_Modules = sort @Core_Modules;
31 print "1..".(1+@Core_Modules)."\n";
34 = "ok 1 - All modules should have tests # TODO Make Schwern Poorer\n";
43 foreach my $module (@Core_Modules) {
45 $todo = "# TODO $module needs porting on $^O" if $module eq 'ByteLoader' && $^O eq 'VMS';
46 print "# $module compile failed\nnot " unless compile_module($module);
47 print "ok $test_num $todo\n";
51 # We do this as a separate process else we'll blow the hell
52 # out of our namespace.
56 my $compmod = catfile(curdir(), 'lib', 'compmod.pl');
57 my $lib = '-I' . catdir(updir(), 'lib');
59 my $out = scalar `$^X $lib $compmod $module`;
64 # These modules have no tests of their own.
65 # Keep up to date with
66 # http://www.pobox.com/~schwern/cgi-bin/perl-qa-wiki.cgi?UntestedModules
67 # and vice-versa. The list should only shrink.