This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate perlio:
[perl5.git] / t / lib / 1_compile.t
CommitLineData
7200bc44
JH
1#!./perl
2
3BEGIN {
4 chdir '..' if -d '../pod' && -d '../t';
5 @INC = 'lib';
6}
7
8use strict;
9use warnings;
10
5999ed7d
JH
11# This list really needs to be dynamic.
12
7200bc44
JH
13my @Core_Modules = (
14 'AnyDBM_File',
15 'AutoLoader',
16 'AutoSplit',
17 'B', # Do all these B things compile everywhere?
18 'B::Asmdata',
19 'B::Assembler',
20 'B::Bblock',
21 'B::Bytecode',
22 'B::C',
23 'B::CC',
24 'B::Concise',
25 'B::Debug',
26 'B::Deparse',
27 'B::Disassembler',
28 'B::Lint',
29 'B::Showlex',
30 'B::Stackobj',
31 'B::Stash',
32 'B::Terse',
33 'B::Xref',
34 'Benchmark',
35 'ByteLoader',
36 'CGI',
37 'CGI::Apache',
38 'CGI::Carp',
39 'CGI::Cookie',
40 # 'CGI::Fast', # won't load without FCGI
41 'CGI::Pretty',
42 'CGI::Push',
43 'CGI::Switch',
44 'CGI::Util',
45 'CPAN',
46 'CPAN::FirstTime',
47 'CPAN::Nox',
48 'Carp',
49 'Carp::Heavy',
50 'Class::Struct',
51 'Config',
52 'Cwd',
53 'DB',
54 # DB_File # config specific
55 'Data::Dumper',
56 # 'Devel::DProf', # needs to run as -d:DProf
57 'Devel::Peek',
58 'Devel::SelfStubber',
59 'DirHandle',
60 'Dumpvalue',
61 'DynaLoader', # config specific?
62 'English',
63 'Encode',
64 'Env',
65 'Errno',
66 'Exporter',
67 'Exporter::Heavy',
68 'ExtUtils::Command',
69 'ExtUtils::Embed',
70 'ExtUtils::Install',
71 'ExtUtils::Installed',
72 'ExtUtils::Liblist',
73 # ExtUtils::MM_Cygwin # ExtUtils::MakeMaker takes
74 # ExtUtils::MM_OS2 # care of testing these.
75 # ExtUtils::MM_Unix
76 # ExtUtils::MM_VMS
77 # ExtUtils::MM_Win32
78 'ExtUtils::MakeMaker',
79 'ExtUtils::Manifest',
80 'ExtUtils::Mkbootstrap',
81 'ExtUtils::Mksymlists',
82 'ExtUtils::Packlist',
83 'ExtUtils::testlib',
84 'Fatal',
85 'Fcntl', # config specific?
86 'File::Basename',
87 'File::CheckTree',
88 'File::Compare',
89 'File::Copy',
90 'File::DosGlob',
91 'File::Find',
92 'File::Glob',
93 'File::Path',
94 'File::Spec',
95 'File::Spec::Functions',
96 # File::Spec::EPOC # File::Spec will take care of
97 # File::Spec::Mac # testing these compile.
98 # File::Spec::OS2
99 # File::Spec::Unix
100 # File::Spec::VMS
101 # File::Spec::Win32
102 'File::stat',
103 'FileCache',
104 'FileHandle',
105 'Filter::Simple',
106 'Filter::Util::Call',
107 'FindBin',
108 'Getopt::Long',
109 'Getopt::Std',
110 'I18N::Collate',
111 'IO',
112 'IO::Dir',
113 'IO::File',
114 'IO::Handle',
115 'IO::Pipe',
116 'IO::Poll',
117 'IO::Seekable',
118 'IO::Select',
119 'IO::Socket',
120 'IO::Socket::INET',
121 # IO::Socket::UNIX # config specific
122 'IPC::Msg',
123 'IPC::Open2',
124 'IPC::Open3',
125 'IPC::Semaphore', # config specific?
126 'IPC::SysV', # config specific?
127 'Math::BigFloat',
128 'Math::BigInt',
129 'Math::Complex',
130 'Math::Trig',
131 'Net::Ping',
132 'Net::hostent',
133 'Net::netent',
134 'Net::protoent',
135 'Net::servent',
136 'O',
137 'Opcode',
138 'POSIX', # config specific?
139 'Pod::Checker',
140 'Pod::Find',
141 'Pod::Functions',
142 'Pod::Html',
143 'Pod::InputObjects',
144 'Pod::Man',
7200bc44
JH
145 'Pod::ParseUtils',
146 'Pod::Parser',
147 'Pod::Plainer',
148 'Pod::Select',
149 'Pod::Text',
150 'Pod::Text::Color',
5999ed7d 151 'Pod::Text::Overstrike',
7200bc44
JH
152 'Pod::Text::Termcap',
153 'Pod::Usage',
154 'SDBM_File',
155 'Safe',
156 'Search::Dict',
157 'SelectSaver',
158 'SelfLoader',
159 'Shell',
160 'Socket',
161 'Symbol',
162 'Sys::Hostname',
163 'Sys::Syslog',
164 'Term::ANSIColor',
165 'Term::Cap',
166 'Term::Complete',
167 'Term::ReadLine',
168 'Test',
169 'Test::Harness',
170 'Text::Abbrev',
171 'Text::ParseWords',
172 'Text::Soundex',
173 'Text::Tabs',
174 'Text::Wrap',
175 'Tie::Array',
176 'Tie::Hash',
177 'Tie::RefHash',
178 'Tie::Scalar',
179 'Tie::SubstrHash',
180 'Time::Local',
181 'Time::gmtime',
182 'Time::localtime',
183 'Time::tm',
184 'UNIVERSAL',
185 'User::grent',
186 'User::pwent',
187 'XSLoader',
188 'attributes',
189 'attrs',
190 'autouse',
191 'blib',
192 'bytes',
193 'charnames',
194 'constant',
195 'diagnostics',
196 'filetest',
197 'integer',
198 'less',
199 'lib',
200 'locale',
201 'open',
202 'ops',
203 'overload',
204 're',
205 'sigtrap',
206 'strict',
207 'subs',
208 'unicode::distinct',
209 'utf8',
210 'vars',
211 'warnings',
212 'warnings::register',
213 );
214
215print "1..".@Core_Modules."\n";
216
217my $test_num = 1;
218foreach my $module (@Core_Modules) {
219 print "not " unless compile_module($module);
220 print "ok $test_num\n";
221 $test_num++;
222}
223
224
225# We do this as a seperate process else we'll blow the hell out of our
226# namespace.
227sub compile_module {
228 my($module) = @_;
229
230 return scalar `./perl -Ilib t/lib/compmod.pl $module` =~ /^ok/;
231}