return 1;
}
-print "1..54\n";
+print "1..56\n";
$Is_MSWin32 = $^O eq 'MSWin32';
$Is_NetWare = $^O eq 'NetWare';
$Is_MacOS = $^O eq 'MacOS';
$Is_MPE = $^O eq 'mpeix';
$Is_miniperl = $ENV{PERL_CORE_MINITEST};
+$Is_BeOS = $^O eq 'beos';
$PERL = ($Is_NetWare ? 'perl' :
($Is_MacOS || $Is_VMS) ? $^X :
ok chmod(0755, $script), $!;
$_ = ($Is_MacOS || $Is_VMS) ? `$perl $script` : `$script`;
s/\.exe//i if $Is_Dos or $Is_Cygwin or $Is_os2;
+ s{./$script}{$script} if $Is_BeOS; # revert BeOS execvp() side-effect
s{\bminiperl\b}{perl}; # so that test doesn't fail with miniperl
s{is perl}{is $perl}; # for systems where $^X is only a basename
s{\\}{/}g;
ok((($Is_MSWin32 || $Is_os2) ? uc($_) eq uc($s1) : $_ eq $s1), " :$_:!=:$s1:");
$_ = `$perl $script`;
s/\.exe//i if $Is_Dos or $Is_os2;
+ s{./$perl}{$perl} if $Is_BeOS; # revert BeOS execvp() side-effect
s{\\}{/}g;
ok((($Is_MSWin32 || $Is_os2) ? uc($_) eq uc($s1) : $_ eq $s1), " :$_:!=:$s1: after `$perl $script`");
ok unlink($script), $!;
}
if ($Is_miniperl) {
- skip ("miniperl can't rely on loading %Errno");
+ skip ("miniperl can't rely on loading %Errno") for 1..2;
} else {
no warnings 'void';
# Make sure Errno hasn't been prematurely autoloaded
- ok !defined %Errno::;
+ ok !keys %Errno::;
# Test auto-loading of Errno when %! is used
my @y = f();
ok( $x eq "@y", "return a magic array ($x) vs (@y)" );
}
+
+# Test for bug [perl #36434]
+{
+ local @ISA;
+ local %ENV;
+ eval { push @ISA, __PACKAGE__ };
+ ok( $@ eq '', 'Push a constant on a magic array', '#36434' );
+ $@ and print "# $@";
+ eval { %ENV = (PATH => __PACKAGE__) };
+ ok( $@ eq '', 'Assign a constant to a magic hash', '#36434' );
+ $@ and print "# $@";
+}