This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
valgrind update
[perl5.git] / t / op / magic.t
index f55630a..74a8d25 100755 (executable)
@@ -267,14 +267,18 @@ if ($Is_VMS || $Is_Dos || $Is_MacOS) {
     skip("%ENV manipulations fail or aren't safe on $^O") for 1..4;
 }
 else {
-       $PATH = $ENV{PATH};
-       $PDL = $ENV{PERL_DESTRUCT_LEVEL} || 0;
-       $ENV{foo} = "bar";
-       %ENV = ();
-       $ENV{PATH} = $PATH;
-       $ENV{PERL_DESTRUCT_LEVEL} = $PDL || 0;
-       ok ($Is_MSWin32 ? (`set foo 2>NUL` eq "")
-                               : (`echo \$foo` eq "\n") );
+       if ($ENV{PERL_VALGRIND}) {
+           skip("clearing \%ENV is not safe when running under valgrind");
+       } else {
+           $PATH = $ENV{PATH};
+           $PDL = $ENV{PERL_DESTRUCT_LEVEL} || 0;
+           $ENV{foo} = "bar";
+           %ENV = ();
+           $ENV{PATH} = $PATH;
+           $ENV{PERL_DESTRUCT_LEVEL} = $PDL || 0;
+           ok ($Is_MSWin32 ? (`set foo 2>NUL` eq "")
+                           : (`echo \$foo` eq "\n") );
+       }
 
        $ENV{__NoNeSuCh} = "foo";
        $0 = "bar";