|
34 | 34 |
|
35 | 35 | my$what =shift ||""; |
36 | 36 | if ($what =~ |
37 | | -/^(check|installcheck|plcheck|contribcheck|modulescheck|ecpgcheck|isolationcheck|upgradecheck|bincheck)$/i |
| 37 | +/^(check|installcheck|plcheck|contribcheck|modulescheck|ecpgcheck|isolationcheck|upgradecheck|tapcheck)$/i |
38 | 38 | ) |
39 | 39 | { |
40 | 40 | $what =uc$what; |
|
61 | 61 | $schedule ="parallel"if ($whateq'CHECK' ||$what =~/PARALLEL/); |
62 | 62 | } |
63 | 63 |
|
64 | | -if ($ENV{PERL5LIB}) |
65 | | -{ |
66 | | -$ENV{PERL5LIB} ="$topdir/src/tools/msvc;$ENV{PERL5LIB}"; |
67 | | -} |
68 | | -else |
69 | | -{ |
70 | | -$ENV{PERL5LIB} ="$topdir/src/tools/msvc"; |
71 | | -} |
| 64 | +$ENV{PERL5LIB} ="$topdir/src/tools/msvc;$ENV{PERL5LIB}"; |
72 | 65 |
|
73 | 66 | my$maxconn =""; |
74 | 67 | $maxconn ="--max_connections=$ENV{MAX_CONNECTIONS}" |
|
88 | 81 | CONTRIBCHECK=> \&contribcheck, |
89 | 82 | MODULESCHECK=> \&modulescheck, |
90 | 83 | ISOLATIONCHECK=> \&isolationcheck, |
91 | | -BINCHECK=> \&bincheck, |
| 84 | +TAPCHECK=> \&tapcheck, |
92 | 85 | UPGRADECHECK=> \&upgradecheck,); |
93 | 86 |
|
94 | 87 | my$proc =$command{$what}; |
@@ -175,7 +168,46 @@ sub isolationcheck |
175 | 168 | exit$statusif$status; |
176 | 169 | } |
177 | 170 |
|
178 | | -subtap_check |
| 171 | +subtapcheck |
| 172 | +{ |
| 173 | +InstallTemp(); |
| 174 | + |
| 175 | +my@args = ("prove","--verbose","t/*.pl"); |
| 176 | + |
| 177 | +$ENV{PATH} ="$tmp_installdir/bin;$ENV{PATH}"; |
| 178 | +$ENV{PERL5LIB} ="$topdir/src/test/perl;$ENV{PERL5LIB}"; |
| 179 | +$ENV{PG_REGRESS} ="$topdir/$Config/pg_regress/pg_regress"; |
| 180 | + |
| 181 | +# Find out all the existing TAP tests by looking for t/ directories |
| 182 | +# in the tree. |
| 183 | +my$tap_dirs = []; |
| 184 | +my@top_dir = ($topdir); |
| 185 | +File::Find::find( |
| 186 | +{wanted=>sub { |
| 187 | +/^t\z/s |
| 188 | + &&push(@$tap_dirs,$File::Find::name); |
| 189 | + } |
| 190 | +}, |
| 191 | +@top_dir); |
| 192 | + |
| 193 | +# Process each test |
| 194 | +foreachmy$test_path (@$tap_dirs) |
| 195 | +{ |
| 196 | +# Like on Unix "make check-world", don't run the SSL test suite |
| 197 | +# automatically. |
| 198 | +nextif ($test_path =~/\/src\/test\/ssl\//); |
| 199 | + |
| 200 | +my$dir = dirname($test_path); |
| 201 | +chdir$dir; |
| 202 | +# Reset those values, they may have been changed by another test. |
| 203 | +$ENV{TESTDIR} ="$dir"; |
| 204 | +system(@args); |
| 205 | +my$status =$? >> 8; |
| 206 | +exit$statusif$status; |
| 207 | +} |
| 208 | +} |
| 209 | + |
| 210 | +subplcheck |
179 | 211 | { |
180 | 212 | die"Tap tests not enabled in configuration" |
181 | 213 | unless$config->{tap_tests}; |
|