This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Test case for C<undef %File::Glob::>
[perl5.git]
/
t
/
op
/
die_exit.t
diff --git
a/t/op/die_exit.t
b/t/op/die_exit.t
index
b5760d6
..
a389946
100755
(executable)
--- a/
t/op/die_exit.t
+++ b/
t/op/die_exit.t
@@
-7,8
+7,14
@@
BEGIN {
chdir 't' if -d 't';
BEGIN {
chdir 't' if -d 't';
- @INC = '../lib'
if -e '../lib'
;
+ @INC = '../lib';
}
}
+
+if ($^O eq 'mpeix') {
+ print "1..0 # Skip: broken on MPE/iX\n";
+ exit 0;
+}
+
my $perl = -e '../perl' ? '../perl' : -e './perl' ? './perl' : 'perl';
use strict;
my $perl = -e '../perl' ? '../perl' : -e './perl' ? './perl' : 'perl';
use strict;
@@
-30,6
+36,8
@@
my %tests = (
14 => [ 255, 0],
15 => [ 255, 1],
16 => [ 255, 256],
14 => [ 255, 0],
15 => [ 255, 1],
16 => [ 255, 256],
+ # see if implicit close preserves $?
+ 17 => [ 0, 512, '{ local *F; open F, q[TEST]; close F; $!=0 } die;'],
);
my $max = keys %tests;
);
my $max = keys %tests;
@@
-37,14
+45,15
@@
my $max = keys %tests;
print "1..$max\n";
foreach my $test (1 .. $max) {
print "1..$max\n";
foreach my $test (1 .. $max) {
- my($bang, $query) = @{$tests{$test}};
+ my($bang, $query, $code) = @{$tests{$test}};
+ $code ||= 'die;';
my $exit =
($^O eq 'MSWin32'
my $exit =
($^O eq 'MSWin32'
- ? system qq($perl -e "\$! = $bang; \$? = $query;
die;
" 2> nul)
- : system qq($perl -e '\$! = $bang; \$? = $query;
die;
' 2> /dev/null));
+ ? system qq($perl -e "\$! = $bang; \$? = $query;
$code
" 2> nul)
+ : system qq($perl -e '\$! = $bang; \$? = $query;
$code
' 2> /dev/null));
- printf "# 0x%04x 0x%04x 0x%04x\n
not ", $exit, $bang, $query
-
unless $exit == (($bang || ($query >> 8) || 255) << 8);
+ printf "# 0x%04x 0x%04x 0x%04x\n
", $exit, $bang, $query;
+
print "not "
unless $exit == (($bang || ($query >> 8) || 255) << 8);
print "ok $test\n";
}
print "ok $test\n";
}