diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-06-18 20:26:59 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-06-18 20:26:59 +0000 |
commit | bb36583767bf215eda3dc8674c27c74a3313c6d7 (patch) | |
tree | 2553f6b96e9724cf46cbb3cf8007378449ddb84f /t/TEST | |
parent | 227a8b4b89a56a5f0c4892bc310a24a6cfceb3b7 (diff) | |
download | perl-bb36583767bf215eda3dc8674c27c74a3313c6d7.tar.gz |
close child pipe in t/TEST, other cosmetic tweaks
p4raw-id: //depot/perl@1147
Diffstat (limited to 't/TEST')
-rwxr-xr-x | t/TEST | 216 |
1 files changed, 110 insertions, 106 deletions
@@ -44,127 +44,131 @@ else { _testprogs('perl', @ARGV); _testprogs('compile', @ARGV) if (-e "../testcompile"); -sub _testprogs -{ - $type = shift @_; - @tests = @_; +sub _testprogs { + $type = shift @_; + @tests = @_; - print " + print <<'EOT' if ($type eq 'compile'); -------------------------------------------------------------------------------- TESTING COMPILER -------------------------------------------------------------------------------- -" if ($type eq 'compile'); - - $bad = 0; - $good = 0; - $total = @tests; - $files = 0; - $totmax = 0; -while ($test = shift @tests) { - - if ( $infinite{$test} && $type eq 'compile' ) { - print STDERR "$test creates infinite loop! Skipping.\n"; - next; +EOT + + $bad = 0; + $good = 0; + $total = @tests; + $files = 0; + $totmax = 0; + while ($test = shift @tests) { + + if ( $infinite{$test} && $type eq 'compile' ) { + print STDERR "$test creates infinite loop! Skipping.\n"; + next; } - if ($test =~ /^$/) { - next; - } - $te = $test; - chop($te); - print "$te" . '.' x (18 - length($te)); - if ($sharpbang) { - -x $test || (print "isn't executable.\n"); - - if ($type eq 'perl') - { open(RESULTS, "./$test |") || (print "can't run.\n"); } - else - { - open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") - || (print "can't compile.\n"); + if ($test =~ /^$/) { + next; } - } else { - open(SCRIPT,"$test") || die "Can't run $test.\n"; - $_ = <SCRIPT>; - close(SCRIPT); - if (/#!..perl(.*)/) { - $switch = $1; - if ($^O eq 'VMS') { - # Must protect uppercase switches with "" on command line - $switch =~ s/-([A-Z]\S*)/"-$1"/g; + $te = $test; + chop($te); + print "$te" . '.' x (18 - length($te)); + if ($sharpbang) { + -x $test || (print "isn't executable.\n"); + + if ($type eq 'perl') { + open(RESULTS, "./$test |") || (print "can't run.\n"); } + else { + open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n"; } - } else { - $switch = ''; } + else { + open(SCRIPT,"$test") or die "Can't run $test.\n"; + $_ = <SCRIPT>; + close(SCRIPT); + if (/#!..perl(.*)/) { + $switch = $1; + if ($^O eq 'VMS') { + # Must protect uppercase switches with "" on command line + $switch =~ s/-([A-Z]\S*)/"-$1"/g; + } + } + else { + $switch = ''; + } - if ($type eq 'perl') - { + if ($type eq 'perl') { open(RESULTS,"./perl$switch $test |") || (print "can't run.\n"); + } + else { + open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n"; + } } - else - { - open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") - || (print "can't compile.\n"); - } - } - $ok = 0; - $next = 0; - while (<RESULTS>) { - if ($verbose) { - print $_; - } - unless (/^#/) { - if (/^1\.\.([0-9]+)/) { - $max = $1; - $totmax += $max; - $files += 1; - $next = 1; - $ok = 1; - } else { - $next = $1, $ok = 0, last if /^not ok ([0-9]*)/; - if (/^ok (\d+)(\s*#.*)?$/ && $1 == $next) { - $next = $next + 1; - } else { - $ok = 0; + $ok = 0; + $next = 0; + while (<RESULTS>) { + if ($verbose) { + print $_; + } + unless (/^#/) { + if (/^1\.\.([0-9]+)/) { + $max = $1; + $totmax += $max; + $files += 1; + $next = 1; + $ok = 1; + } + else { + $next = $1, $ok = 0, last if /^not ok ([0-9]*)/; + if (/^ok (\d+)(\s*#.*)?$/ && $1 == $next) { + $next = $next + 1; + } + else { + $ok = 0; + } } } } - } - $next = $next - 1; - if ($ok && $next == $max) { - if ($max) { - print "ok\n"; - $good = $good + 1; - } else { - print "skipping test on this platform\n"; - $files -= 1; + close RESULTS; + $next = $next - 1; + if ($ok && $next == $max) { + if ($max) { + print "ok\n"; + $good = $good + 1; + } + else { + print "skipping test on this platform\n"; + $files -= 1; + } } - } else { - $next += 1; - print "FAILED at test $next\n"; - $bad = $bad + 1; - $_ = $test; - if (/^base/) { - die "Failed a basic test--cannot continue.\n"; + else { + $next += 1; + print "FAILED at test $next\n"; + $bad = $bad + 1; + $_ = $test; + if (/^base/) { + die "Failed a basic test--cannot continue.\n"; + } } } -} -if ($bad == 0) { - if ($ok) { - print "All tests successful.\n"; - # XXX add mention of 'perlbug -ok' ? - } else { - die "FAILED--no tests were run for some reason.\n"; - } -} else { - $pct = sprintf("%.2f", $good / $total * 100); - if ($bad == 1) { - warn "Failed 1 test script out of $total, $pct% okay.\n"; - } else { - warn "Failed $bad test scripts out of $total, $pct% okay.\n"; + if ($bad == 0) { + if ($ok) { + print "All tests successful.\n"; + # XXX add mention of 'perlbug -ok' ? + } + else { + die "FAILED--no tests were run for some reason.\n"; + } } - warn <<'SHRDLU'; + else { + $pct = sprintf("%.2f", $good / $total * 100); + if ($bad == 1) { + warn "Failed 1 test script out of $total, $pct% okay.\n"; + } + else { + warn "Failed $bad test scripts out of $total, $pct% okay.\n"; + } + warn <<'SHRDLU'; ### Since not all tests were successful, you may want to run some ### of them individually and examine any diagnostic messages they ### produce. See the INSTALL document's section on "make test". @@ -173,16 +177,16 @@ if ($bad == 0) { ### ./perl harness ### in the directory ./t. SHRDLU - warn <<'SHRDLU' if $good / $total > 0.8; + warn <<'SHRDLU' if $good / $total > 0.8; ### ### Since most tests were successful, you have a good chance to ### get information with better granularity by running ### ./perl harness ### in directory ./t. SHRDLU -} -($user,$sys,$cuser,$csys) = times; -print sprintf("u=%g s=%g cu=%g cs=%g scripts=%d tests=%d\n", - $user,$sys,$cuser,$csys,$files,$totmax); + } + ($user,$sys,$cuser,$csys) = times; + print sprintf("u=%g s=%g cu=%g cs=%g scripts=%d tests=%d\n", + $user,$sys,$cuser,$csys,$files,$totmax); } exit ($bad != 0); |