Actually detect errors in pure-perl test
Dagfinn Ilmari Mannsåker [Tue, 24 Jul 2012 17:09:19 +0000 (18:09 +0100)]
Changes
t/01_basic.t
t/10_pure-perl.t

diff --git a/Changes b/Changes
index 7c56904..8aabdb5 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+  * Actually detect errors in pure-perl test
+
 0.06  Thu, 14 Jun 2012
   * De-retardize XS-less behavior under SpeedyCGI
   * Test suite now works from within space-containing paths
index 5a6bdcf..c16cab3 100644 (file)
@@ -21,8 +21,10 @@ BEGIN {
 
 print "1..4\n";
 
+my $had_error = 0;
+END { $? = $had_error };
 sub ok ($$) {
-    print "not " if !$_[0];
+    $had_error++, print "not " if !$_[0];
     print "ok";
     print " - $_[1]" if defined $_[1];
     print "\n";
index 8342391..47bfbc2 100644 (file)
@@ -16,8 +16,10 @@ my $this_file = quotemeta(__FILE__);
 my @tests = grep { $_ !~ /${this_file}$/ } bsd_glob("$Bin/*.t");
 print "1..@{[ scalar @tests ]}\n";
 
+my $had_error = 0;
+END { $? = $had_error }
 sub ok ($$) {
-  print "not " if !$_[0];
+  $had_error++, print "not " if !$_[0];
   print "ok";
   print " - $_[1]" if defined $_[1];
   print "\n";
@@ -36,4 +38,3 @@ for my $fn (@tests) {
   wait;
   ok (! $?, "Exit $? from: $^X $fn");
 }
-