Integrate change #8818 from maintperl, a FAQ nit.
[p5sagit/p5-mst-13.2.git] / t / UTEST
diff --git a/t/UTEST b/t/UTEST
index 2850f76..d1ac2be 100755 (executable)
--- a/t/UTEST
+++ b/t/UTEST
@@ -55,8 +55,8 @@ TESTING COMPILER
 --------------------------------------------------------------------------------
 EOT
 
-    $ENV{COMPILE_TIMEOUT} = 120 
-        if ($type eq 'compile' && !$ENV{COMPILE_TIMEOUT});
+    $ENV{PERLCC_TIMEOUT} = 120 
+        if ($type eq 'compile' && !$ENV{PERLCC_TIMEOUT});
 
     $bad = 0;
     $good = 0;
@@ -79,9 +79,16 @@ EOT
            -x $test || (print "isn't executable.\n");
 
            if ($type eq 'perl') {
-               open(RESULTS, "./$test |") || (print "can't run.\n"); }
+               my $run = "./$test |";
+               open(RESULTS, $run) || (print "can't run '$run': $!\n");
+           }
            else { 
-               open(RESULTS, "./perl -I../lib ../utils/perlcc ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n";
+               my $compile =
+                   "./perl -I../lib ../utils/perlcc -o ./$test.plc ./$test "
+                       ." && ./$test.plc |";
+               open(RESULTS, $compile)
+                   or print "can't compile '$compile': $!.\n";
+               unlink "./$test.plc";
            }
        }
        else {
@@ -100,10 +107,14 @@ EOT
            }
 
            if ($type eq 'perl') {
-               open(RESULTS,"./perl$switch -I../lib -Mutf8 $test |") || (print "can't run.\n");
+               my $run = "./perl$switch -I../lib -Mutf8 $test |";
+               open(RESULTS, $run) or
+                   print "can't run '$run': $!.\n";
            }
            else {
-               open(RESULTS, "./perl -I../lib ../utils/perlcc -Mutf8 ./$test -run -verbose dcf -log ../compilelog |") or print "can't compile.\n";
+               my $compile = "./perl -I../lib ../utils/perlcc -Mutf8 ./$test -run -verbose dcf -log ../compilelog |";
+               open(RESULTS, $compile) or
+                   print "can't compile '$compile': $!.\n";
            }
        }
        $ok = 0;
@@ -124,6 +135,9 @@ EOT
                    $next = $1, $ok = 0, last if /^not ok ([0-9]*)/;
                    if (/^ok (\d+)(\s*#.*)?$/ && $1 == $next) {
                        $next = $next + 1;
+                    }
+                    elsif (/^Bail out!\s*(.*)/i) { # magic words
+                        die "FAILED--Further testing stopped" . ($1 ? ": $1\n" : ".\n");
                    }
                    else {
                        $ok = 0;