Make sure the pure-perl test *is* pure-perl
[p5sagit/Devel-GlobalDestruction.git] / t / 10_pure-perl.t
index 841073a..47bfbc2 100644 (file)
@@ -3,6 +3,7 @@ use warnings;
 use FindBin qw($Bin);
 use Config;
 use IPC::Open2;
+use File::Glob 'bsd_glob'; # support spaces in names unlike glob()
 
 # rerun the tests under the assumption of pure-perl
 
@@ -12,11 +13,13 @@ $ENV{DEVEL_GLOBALDESTRUCTION_PP_TEST} = 1;
 
 my $this_file = quotemeta(__FILE__);
 
-my @tests = grep { $_ !~ /${this_file}$/ } glob("$Bin/*.t");
+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";
@@ -35,4 +38,3 @@ for my $fn (@tests) {
   wait;
   ok (! $?, "Exit $? from: $^X $fn");
 }
-