This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #126229] POSIX::strerror() clears $!
[perl5.git] / ext / POSIX / t / strerror_errno.t
1 use Config;
2 use Test::More;
3
4 # This is placed in a separate file, as some 'requires' and 'uses' are known
5 # to cause it to not fail even with the bug it's testing still being
6 # broken.  [perl #123503].
7
8 plan(skip_all => "POSIX is unavailable")
9     unless $Config{extensions} =~ /\bPOSIX\b/;
10
11 require POSIX;
12
13 $! = 1;
14 POSIX::strerror(1);
15 is (0+$!, 1, 'strerror doesn\'t destroy $!');
16
17 # [perl #126229] POSIX::strerror() clears $!
18 {
19     local $! = 29;
20     my $e = POSIX::strerror($!);
21     is (0+$!, 29);
22 }
23
24 done_testing();