]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - t/09-load-threads.t
Protect t/09-load-threads.t against old relocated perls
[perl/modules/Scope-Upper.git] / t / 09-load-threads.t
index 3bd92f9b667bdfcfdc070669cb44d6f48e321a82..10aef241624ca3cd3e84706d9494d4bb2e313357 100644 (file)
@@ -38,12 +38,14 @@ BEGIN {
 
  if (defined $thread_safe_var) {
   my $stat = run_perl "require POSIX; require $module; exit($thread_safe_var ? POSIX::EXIT_SUCCESS() : POSIX::EXIT_FAILURE())";
-  require POSIX;
-  my $res  = $stat >> 8;
-  if ($res == POSIX::EXIT_SUCCESS()) {
-   $is_threadsafe = 1;
-  } elsif ($res == POSIX::EXIT_FAILURE()) {
-   $is_threadsafe = !1;
+  if (defined $stat) {
+   require POSIX;
+   my $res  = $stat >> 8;
+   if ($res == POSIX::EXIT_SUCCESS()) {
+    $is_threadsafe = 1;
+   } elsif ($res == POSIX::EXIT_FAILURE()) {
+    $is_threadsafe = !1;
+   }
   }
   if (not defined $is_threadsafe) {
    skip_all "Could not detect if $module is thread safe or not";
@@ -57,7 +59,7 @@ BEGIN {
 
 my $could_not_create_thread = 'Could not create thread';
 
-use Test::Leaner tests => 1 + (2 + 2 * 2) + 6 + (1 + 2 * 4);
+use Test::Leaner tests => 1 + (2 + 2 * 2) + 6 + (2 * 4) + 2;
 
 sub is_loaded {
  my ($affirmative, $desc) = @_;
@@ -252,3 +254,6 @@ SKIP: {
 }
 
 is_loaded 0, 'main body, after simultaneous threads';
+
+do_load;
+is_loaded 1, 'main body, loaded at end';