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