diff options
author | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-11-11 17:49:12 +0000 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-11-11 17:49:12 +0000 |
commit | 3e6e8be7e558c0e8674ba478f22ba6ebcd1aa86e (patch) | |
tree | 6e79611f61bf2054b5ffedd9485257f175ab6b06 /t | |
parent | 12f917ad6d7e3aea6f84bc265d3b6d1b415c7598 (diff) | |
download | perl-3e6e8be7e558c0e8674ba478f22ba6ebcd1aa86e.tar.gz |
t/TEST (reverted to @229 version) should have been included in the
previous change (231) but my way of recovering it didn't work
properly. The change 231 comments about successful tests applies
to this t/TEST (i.e. as of this change).
p4raw-link: @229 on //depot/perl: 2faa37ccf8e46b865687f0ab4992b29a75eb79ea
p4raw-id: //depot/perl@232
Diffstat (limited to 't')
-rwxr-xr-x | t/TEST | 55 |
1 files changed, 25 insertions, 30 deletions
@@ -7,39 +7,24 @@ $| = 1; -if ($ARGV[0] eq '-v') { +if ($#ARGV >= 0 && $ARGV[0] eq '-v') { $verbose = 1; shift; } chdir 't' if -f 't/TEST'; -die "You need to run \"make test\" first to set things up.\n" +die "You need to run \"make test\" first to set things up.\n" unless -e 'perl' or -e 'perl.exe'; $ENV{EMXSHELL} = 'sh'; # For OS/2 -if ($ARGV[0] eq '') { - push( @ARGV, `dir/s/b base` ); - push( @ARGV, `dir/s/b comp` ); - push( @ARGV, `dir/s/b cmd` ); - push( @ARGV, `dir/s/b io` ); - push( @ARGV, `dir/s/b op` ); - push( @ARGV, `dir/s/b pragma` ); - push( @ARGV, `dir/s/b lib` ); - - grep( chomp, @ARGV ); - @ARGV = grep( /\.t$/, @ARGV ); - grep( s/.*t\\//, @ARGV ); -# @ARGV = split(/[ \n]/, -# `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`); -} else { - -@ARGV = map(glob($_),@ARGV); - +if ($#ARGV == -1) { + @ARGV = split(/[ \n]/, + `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`); } -if ($^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'qnx' || 1) { +if ($^O eq 'os2' || $^O eq 'qnx') { $sharpbang = 0; } else { @@ -56,6 +41,8 @@ else { $bad = 0; $good = 0; $total = @ARGV; +$files = 0; +$totmax = 0; while ($test = shift) { if ($test =~ /^$/) { next; @@ -64,11 +51,12 @@ while ($test = shift) { chop($te); print "$te" . '.' x (18 - length($te)); if ($sharpbang) { - open(results,"./$test |") || (print "can't run.\n"); + -x $test || (print "isn't executable.\n"); + open(RESULTS,"./$test |") || (print "can't run.\n"); } else { - open(script,"$test") || die "Can't run $test.\n"; - $_ = <script>; - close(script); + open(SCRIPT,"$test") || die "Can't run $test.\n"; + $_ = <SCRIPT>; + close(SCRIPT); if (/#!..perl(.*)/) { $switch = $1; if ($^O eq 'VMS') { @@ -78,12 +66,11 @@ while ($test = shift) { } else { $switch = ''; } - open(results,"perl$switch $test |") || (print "can't run.\n"); + open(RESULTS,"./perl$switch $test |") || (print "can't run.\n"); } $ok = 0; $next = 0; - while (<results>) { - if (/^$/) { next;}; + while (<RESULTS>) { if ($verbose) { print $_; } @@ -115,7 +102,7 @@ while ($test = shift) { } } else { $next += 1; - print "FAILED on test $next\n"; + print "FAILED at test $next\n"; $bad = $bad + 1; $_ = $test; if (/^base/) { @@ -127,6 +114,7 @@ while ($test = shift) { 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"; } @@ -142,8 +130,15 @@ if ($bad == 0) { ### of them individually and examine any diagnostic messages they ### produce. See the INSTALL document's section on "make test". SHRDLU + 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); -exit $bad != 0; +exit ($bad != 0); |