X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2FTEST;h=96c5ab26a46082c2958cf9d771de87a976c17f3f;hb=8ca41e400e258c6348e47a8adc6cf6570de760a8;hp=291eab5bdb38a10dad3ef5f126cb24c13da1a50c;hpb=96e55a2df88fa51e2823fda38d9d8cf030ba65e8;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/TEST b/t/TEST index 291eab5..96c5ab2 100755 --- a/t/TEST +++ b/t/TEST @@ -1,6 +1,6 @@ #!./perl -# $RCSfile: TEST,v $$Revision: 4.1 $$Date: 92/08/07 18:27:00 $ +# Last change: Fri Jan 10 09:57:03 WET 1997 # This is written in a peculiar style, since we're trying to avoid # most of the constructs we'll be testing for. @@ -21,17 +21,23 @@ $ENV{EMXSHELL} = 'sh'; # For OS/2 if ($ARGV[0] eq '') { @ARGV = split(/[ \n]/, - `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t lib/*.t`); + `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`); } -open(CONFIG,"../config.sh"); -while () { - if (/sharpbang='(.*)'/) { - $sharpbang = ($1 eq '#!'); - last; +if ($^O eq 'os2' || $^O eq 'qnx') { + $sharpbang = 0; +} +else { + open(CONFIG, "../config.sh"); + while () { + if (/sharpbang='(.*)'/) { + $sharpbang = ($1 eq '#!'); + last; + } } + close(CONFIG); } -$sharpbang = 0 if $ENV{OS2_SHELL}; # OS/2 + $bad = 0; $good = 0; $total = @ARGV; @@ -41,7 +47,7 @@ while ($test = shift) { } $te = $test; chop($te); - print "$te" . '.' x (15 - length($te)); + print "$te" . '.' x (18 - length($te)); if ($sharpbang) { open(results,"./$test |") || (print "can't run.\n"); } else { @@ -50,6 +56,10 @@ while ($test = shift) { 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 = ''; } @@ -80,8 +90,13 @@ while ($test = shift) { } $next = $next - 1; if ($ok && $next == $max) { - print "ok\n"; - $good = $good + 1; + if ($max) { + print "ok\n"; + $good = $good + 1; + } else { + print "skipping test on this platform\n"; + $files -= 1; + } } else { $next += 1; print "FAILED on test $next\n"; @@ -102,11 +117,17 @@ if ($bad == 0) { } else { $pct = sprintf("%.2f", $good / $total * 100); if ($bad == 1) { - warn "Failed 1 test, $pct% okay.\n"; + warn "Failed 1 test script out of $total, $pct% okay.\n"; } else { - die "Failed $bad/$total tests, $pct% okay.\n"; + 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". +SHRDLU } ($user,$sys,$cuser,$csys) = times; -print sprintf("u=%g s=%g cu=%g cs=%g files=%d tests=%d\n", +print sprintf("u=%g s=%g cu=%g cs=%g scripts=%d tests=%d\n", $user,$sys,$cuser,$csys,$files,$totmax); +exit $bad != 0;