X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fop%2Fmagic.t;h=154a3cccd4a613572d0d1e230903d6cc86b25a30;hb=4c9140ed7ab4bc4874ef56d7df13268d895ad433;hp=dda07dfbc9ab94bc5a5cdc0b81f7614d6830790c;hpb=547d1dd82362229be47f8169355ee7b5b98dd403;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/op/magic.t b/t/op/magic.t index dda07df..154a3cc 100755 --- a/t/op/magic.t +++ b/t/op/magic.t @@ -36,7 +36,7 @@ sub skip { return 1; } -print "1..54\n"; +print "1..56\n"; $Is_MSWin32 = $^O eq 'MSWin32'; $Is_NetWare = $^O eq 'NetWare'; @@ -47,6 +47,7 @@ $Is_Cygwin = $^O eq 'cygwin'; $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 : @@ -249,12 +250,14 @@ EOF 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), $!; @@ -349,13 +352,13 @@ else { } 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 @@ -423,3 +426,15 @@ ok "@+" eq "10 1 6 10"; 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 "# $@"; +}