8 require Config; import Config;
9 if ($Config{'extensions'} !~ /\bOpcode\b/
10 && $Config{'extensions'} !~ /\bPOSIX\b/
11 && $Config{'osname'} ne 'VMS')
21 use Test::More tests => 2;
27 my $masksize = ceil( Opcode::opcodes / 8 );
28 # Attempt to change the opmask from within the safe compartment
29 $safe->reval( qq{\$_[1] = qq/\0/ x } . $masksize );
31 # Check that it didn't work
32 $safe->reval( q{$x + $y} );
33 like( $@, qr/^'?addition \(\+\)'? trapped by operation mask/,
34 'opmask still in place with reval' );
39 open my $fh, '>nasty.pl' or die "Can't write nasty.pl: $!\n";
41 \$_[1] = "\0" x $masksize;
44 $safe2->rdo('nasty.pl');
45 $safe2->reval( q{$x + $y} );
46 like( $@, qr/^'?addition \(\+\)'? trapped by operation mask/,
47 'opmask still in place with rdo' );
48 END { unlink 'nasty.pl' }