]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - t/lib/Variable/Magic/TestGlobalDestruction.pm
Code cleanups in Variable::Magic::TestGlobalDestruction::import
[perl/modules/Variable-Magic.git] / t / lib / Variable / Magic / TestGlobalDestruction.pm
index ca7997fff93b96fa4831f7c6106ea52aa5efacf4..83f88bbfe1fb9ee726c2486385ef2a8f151e99aa 100644 (file)
@@ -66,16 +66,21 @@ sub import {
  my %args  = @_;
  my $level = $args{level} || 1;
 
+ if ("$]" < 5.013_004 and not $ENV{PERL_VARIABLE_MAGIC_TEST_THREADS}) {
+  _diag("perl 5.13.4 required to safely test global destruction");
+  return 0;
+ }
+
  my $env_level = int($ENV{PERL_DESTRUCT_LEVEL} || 0);
  if ($env_level >= $level) {
   my $is_debugging = is_debugging_perl();
-  require Test::More;
+
   if ($is_debugging) {
    _diag("Global destruction level $env_level set by PERL_DESTRUCT_LEVEL (debugging perl)");
-   return;
-  } else {
-   _diag("PERL_DESTRUCT_LEVEL is set to $env_level, but this perl doesn't seem to have debugging enabled");
+   return 1;
   }
+
+  _diag("PERL_DESTRUCT_LEVEL is set to $env_level, but this perl doesn't seem to have debugging enabled");
  }
 
  my $has_perl_destruct_level = do {
@@ -86,10 +91,14 @@ sub import {
    1;
   }
  };
+
  if ($has_perl_destruct_level) {
   _diag("Global destruction level $level set by Perl::Destruct::Level");
-  return;
+  return 1;
  }
+
+ _diag("Not testing global destruction");
+ return 0;
 }
 
 1;