Commit | Line | Data |
7200bc44 |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | chdir '..' if -d '../pod' && -d '../t'; |
5 | @INC = 'lib'; |
6 | } |
7 | |
8 | use strict; |
9 | use warnings; |
10 | |
5999ed7d |
11 | # This list really needs to be dynamic. |
12 | |
7200bc44 |
13 | my @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 |
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 |
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 | |
215 | print "1..".@Core_Modules."\n"; |
216 | |
217 | my $test_num = 1; |
218 | foreach 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. |
227 | sub compile_module { |
228 | my($module) = @_; |
229 | |
230 | return scalar `./perl -Ilib t/lib/compmod.pl $module` =~ /^ok/; |
231 | } |