Cross Reference: fail.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
ext
/
PerlIO
/
t
/
fail.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
#!./perl
BEGIN
{
chdir
't'
if
-d
't'
;
@
INC
=
'../lib'
;
require
"../
t
/
test.pl
"
;
skip_all
(
"No perlio"
)
unless
(
find
PerlIO
::
Layer
'perlio'
)
;
plan
(
15
)
;
}
use
warnings
'layer'
;
my
$warn
;
my
$file
=
"fail$$"
;
$SIG
{
__WARN__
} =
sub
{
$warn
=
shift
};
END
{
1
while
unlink
(
$file
)
}
ok
(
open
(
FH
,
">"
,
$file
)
,
"Create works"
)
;
close
(
FH
)
;
ok
(
open
(
FH
,
"<"
,
$file
)
,
"Normal open works"
)
;
$warn
=
''
; $! =
0
;
ok
(!
binmode
(
FH
,
":-)"
)
,
"All punctuation fails binmode"
)
;
print
"# $!\n"
;
isnt
($!,
0
,
"Got errno"
)
;
like
(
$warn
,
qr
/
in
PerlIO
layer
/,
"Got warning"
)
;
$warn
=
''
; $! =
0
;
ok
(!
binmode
(
FH
,
":nonesuch"
)
,
"Bad package fails binmode"
)
;
print
"# $!\n"
;
isnt
($!,
0
,
"Got errno"
)
;
like
(
$warn
,
qr
/
nonesuch
/,
"Got warning"
)
;
close
(
FH
)
;
$warn
=
''
; $! =
0
;
ok
(!
open
(
FH
,
"<:-)"
,
$file
)
,
"All punctuation fails open"
)
;
print
"# $!\n"
;
isnt
($!,
""
,
"Got errno"
)
;
like
(
$warn
,
qr
/
in
PerlIO
layer
/,
"Got warning"
)
;
$warn
=
''
; $! =
0
;
ok
(!
open
(
FH
,
"<:nonesuch"
,
$file
)
,
"Bad package fails open"
)
;
print
"# $!\n"
;
isnt
($!,
0
,
"Got errno"
)
;
like
(
$warn
,
qr
/
nonesuch
/,
"Got warning"
)
;
ok
(
open
(
FH
,
"<"
,
$file
)
,
"Normal open (still) works"
)
;
close
(
FH
)
;