[patch] blead@25282
[p5sagit/p5-mst-13.2.git] / t / lib / warnings / doio
CommitLineData
767a6a26 1 doio.c
599cee73 2
9a7dcd9c 3 Can't open bidirectional pipe [Perl_do_open9]
599cee73 4 open(F, "| true |");
5
767a6a26 6 Missing command in piped open [Perl_do_open9]
06eaf0bc 7 open(F, "| ");
8
767a6a26 9 Missing command in piped open [Perl_do_open9]
06eaf0bc 10 open(F, " |");
11
767a6a26 12 warn(warn_nl, "open"); [Perl_do_open9]
599cee73 13 open(F, "true\ncd")
14
2dd78f96 15 close() on unopened filehandle %s [Perl_do_close]
767a6a26 16 $a = "fred";close("$a")
599cee73 17
2dd78f96 18 tell() on closed filehandle [Perl_do_tell]
599cee73 19 $a = "fred";$a = tell($a)
20
2dd78f96 21 seek() on closed filehandle [Perl_do_seek]
599cee73 22 $a = "fred";$a = seek($a,1,1)
23
2dd78f96 24 sysseek() on closed filehandle [Perl_do_sysseek]
599cee73 25 $a = "fred";$a = seek($a,1,1)
26
767a6a26 27 warn(warn_uninit); [Perl_do_print]
599cee73 28 print $a ;
29
2dd78f96 30 -x on closed filehandle %s [Perl_my_stat]
599cee73 31 close STDIN ; -x STDIN ;
32
767a6a26 33 warn(warn_nl, "stat"); [Perl_my_stat]
599cee73 34 stat "ab\ncd"
35
767a6a26 36 warn(warn_nl, "lstat"); [Perl_my_lstat]
599cee73 37 lstat "ab\ncd"
38
5d3e98de 39 Use of -l on filehandle %s [Perl_my_lstat]
40
767a6a26 41 Can't exec \"%s\": %s [Perl_do_aexec5]
599cee73 42
767a6a26 43 Can't exec \"%s\": %s [Perl_do_exec3]
599cee73 44
767a6a26 45 Filehandle %s opened only for output [Perl_do_eof]
46 my $a = eof STDOUT
599cee73 47
0453d815 48 Mandatory Warnings ALL TODO
49 ------------------
767a6a26 50 Can't do inplace edit: %s is not a regular file [Perl_nextargv]
0453d815 51 edit a directory
52
767a6a26 53 Can't do inplace edit: %s would not be unique [Perl_nextargv]
54 Can't rename %s to %s: %s, skipping file [Perl_nextargv]
55 Can't rename %s to %s: %s, skipping file [Perl_nextargv]
56 Can't remove %s: %s, skipping file [Perl_nextargv]
57 Can't do inplace edit on %s: %s [Perl_nextargv]
0453d815 58
59
599cee73 60__END__
767a6a26 61# doio.c [Perl_do_open9]
4438c4b7 62use warnings 'io' ;
3eeba6fb 63open(F, '|'.($^O eq 'VMS' ? 'mcr ':'')."$^X -e 1|");
64close(F);
4438c4b7 65no warnings 'io' ;
0453d815 66open(G, '|'.($^O eq 'VMS' ? 'mcr ':'')."$^X -e 1|");
67close(G);
599cee73 68EXPECT
9a7dcd9c 69Can't open bidirectional pipe at - line 3.
599cee73 70########
767a6a26 71# doio.c [Perl_do_open9]
4438c4b7 72use warnings 'io' ;
0453d815 73open(F, "| ");
4438c4b7 74no warnings 'io' ;
0453d815 75open(G, "| ");
06eaf0bc 76EXPECT
77Missing command in piped open at - line 3.
78########
767a6a26 79# doio.c [Perl_do_open9]
4438c4b7 80use warnings 'io' ;
0453d815 81open(F, " |");
4438c4b7 82no warnings 'io' ;
0453d815 83open(G, " |");
06eaf0bc 84EXPECT
85Missing command in piped open at - line 3.
86########
767a6a26 87# doio.c [Perl_do_open9]
4438c4b7 88use warnings 'io' ;
0453d815 89open(F, "<true\ncd");
4438c4b7 90no warnings 'io' ;
0453d815 91open(G, "<true\ncd");
599cee73 92EXPECT
93Unsuccessful open on filename containing newline at - line 3.
94########
767a6a26 95# doio.c [Perl_do_close] <<TODO
96use warnings 'unopened' ;
97close "fred" ;
98no warnings 'unopened' ;
99close "joe" ;
100EXPECT
9ddeeac9 101close() on unopened filehandle fred at - line 3.
767a6a26 102########
103# doio.c [Perl_do_tell Perl_do_seek Perl_do_sysseek Perl_my_stat]
4438c4b7 104use warnings 'io' ;
599cee73 105close STDIN ;
106tell(STDIN);
107$a = seek(STDIN,1,1);
108$a = sysseek(STDIN,1,1);
109-x STDIN ;
9ddeeac9 110stat(STDIN) ;
2dd78f96 111$a = "fred";
112tell($a);
113seek($a,1,1);
114sysseek($a,1,1);
115-x $a; # ok
116stat($a); # ok
4438c4b7 117no warnings 'io' ;
0453d815 118close STDIN ;
119tell(STDIN);
120$a = seek(STDIN,1,1);
121$a = sysseek(STDIN,1,1);
122-x STDIN ;
9ddeeac9 123stat(STDIN) ;
2dd78f96 124$a = "fred";
125tell($a);
126seek($a,1,1);
127sysseek($a,1,1);
128-x $a;
129stat($a);
599cee73 130EXPECT
2dd78f96 131tell() on closed filehandle STDIN at - line 4.
132seek() on closed filehandle STDIN at - line 5.
133sysseek() on closed filehandle STDIN at - line 6.
134-x on closed filehandle STDIN at - line 7.
135stat() on closed filehandle STDIN at - line 8.
136tell() on unopened filehandle at - line 10.
137seek() on unopened filehandle at - line 11.
138sysseek() on unopened filehandle at - line 12.
599cee73 139########
767a6a26 140# doio.c [Perl_do_print]
4438c4b7 141use warnings 'uninitialized' ;
599cee73 142print $a ;
4438c4b7 143no warnings 'uninitialized' ;
0453d815 144print $b ;
599cee73 145EXPECT
29489e7c 146Use of uninitialized value $a in print at - line 3.
599cee73 147########
767a6a26 148# doio.c [Perl_my_stat Perl_my_lstat]
4438c4b7 149use warnings 'io' ;
599cee73 150stat "ab\ncd";
151lstat "ab\ncd";
4438c4b7 152no warnings 'io' ;
0453d815 153stat "ab\ncd";
154lstat "ab\ncd";
599cee73 155EXPECT
156Unsuccessful stat on filename containing newline at - line 3.
157Unsuccessful stat on filename containing newline at - line 4.
158########
5d3e98de 159# doio.c [Perl_my_stat]
160use warnings 'io';
161-l STDIN;
162-l $fh;
163open $fh, $0 or die "# $!";
164-l $fh;
165no warnings 'io';
166-l STDIN;
167-l $fh;
168close $fh;
169EXPECT
170Use of -l on filehandle STDIN at - line 3.
171Use of -l on filehandle $fh at - line 6.
172########
767a6a26 173# doio.c [Perl_do_aexec5]
e69a2255 174BEGIN {
175 if ($^O eq 'MacOS') {
176 print <<EOM;
177SKIPPED
178# no exec on Mac OS
179EOM
180 exit;
181 }
182}
4438c4b7 183use warnings 'io' ;
dfe13c55 184exec "lskdjfalksdjfdjfkls","" ;
4438c4b7 185no warnings 'io' ;
0453d815 186exec "lskdjfalksdjfdjfkls","" ;
599cee73 187EXPECT
e5e1b98b 188OPTION regex
c4f6c246 189Can't exec "lskdjfalksdjfdjfkls": .+
599cee73 190########
767a6a26 191# doio.c [Perl_do_exec3]
e69a2255 192BEGIN {
193 if ($^O eq 'MacOS') {
194 print <<EOM;
195SKIPPED
196# no exec on Mac OS
197EOM
198 exit;
199 }
200}
4438c4b7 201use warnings 'io' ;
599cee73 202exec "lskdjfalksdjfdjfkls", "abc" ;
4438c4b7 203no warnings 'io' ;
0453d815 204exec "lskdjfalksdjfdjfkls", "abc" ;
599cee73 205EXPECT
e5e1b98b 206OPTION regex
3eeba6fb 207Can't exec "lskdjfalksdjfdjfkls(:? abc)?": .+
0453d815 208########
0698c26b 209# doio.c [win32_execvp]
e69a2255 210BEGIN {
211 if ($^O eq 'MacOS') {
212 print <<EOM;
213SKIPPED
214# no exec on Mac OS
215EOM
216 exit;
217 }
218}
0698c26b 219use warnings 'exec' ;
220exec $^X, "-e0" ;
221EXPECT
222########
767a6a26 223# doio.c [Perl_nextargv]
0453d815 224$^W = 0 ;
ccc2aad8 225my $filename = "./temp.dir" ;
0453d815 226mkdir $filename, 0777
227 or die "Cannot create directory $filename: $!\n" ;
228{
229 local (@ARGV) = ($filename) ;
230 local ($^I) = "" ;
231 my $x = <> ;
232}
233{
4438c4b7 234 no warnings 'inplace' ;
0453d815 235 local (@ARGV) = ($filename) ;
236 local ($^I) = "" ;
237 my $x = <> ;
238}
239{
4438c4b7 240 use warnings 'inplace' ;
0453d815 241 local (@ARGV) = ($filename) ;
242 local ($^I) = "" ;
243 my $x = <> ;
244}
245rmdir $filename ;
246EXPECT
ccc2aad8 247Can't do inplace edit: ./temp.dir is not a regular file at - line 9.
248Can't do inplace edit: ./temp.dir is not a regular file at - line 21.
0453d815 249
767a6a26 250########
251# doio.c [Perl_do_eof]
252use warnings 'io' ;
253my $a = eof STDOUT ;
254no warnings 'io' ;
255$a = eof STDOUT ;
256EXPECT
43693395 257Filehandle STDOUT opened only for output at - line 3.
9a869a14 258########
259# doio.c [Perl_do_openn]
260use Config;
261BEGIN {
262 if ($Config{useperlio}) {
263 print <<EOM;
264SKIPPED
265# warns only without perlio
266EOM
267 exit;
268 }
269}
270use warnings 'io';
271my $x = "foo";
272open FOO, '>', \$x;
35066d42 273open BAR, '>&', \*STDOUT; # should not warn
9a869a14 274no warnings 'io';
275open FOO, '>', \$x;
276EXPECT
277Can't open a reference at - line 14.
97828cef 278########
279# doio.c [Perl_do_openn]
280use Config;
281BEGIN {
282 if (!$Config{useperlio}) {
283 print <<EOM;
284SKIPPED
285# warns only with perlio
286EOM
287 exit;
288 }
289}
290use warnings 'io' ;
291close STDOUT;
292open FH1, "harness"; close FH1;
293no warnings 'io' ;
294open FH2, "harness"; close FH2;
295EXPECT
296Filehandle STDOUT reopened as FH1 only for input at - line 14.
297########
298# doio.c [Perl_do_openn]
299use Config;
300BEGIN {
301 if (!$Config{useperlio}) {
302 print <<EOM;
303SKIPPED
304# warns only with perlio
305EOM
306 exit;
307 }
308}
309use warnings 'io' ;
310close STDIN;
311open my $fh1, ">doiowarn.tmp"; close $fh1;
312no warnings 'io' ;
313open my $fh2, ">doiowarn.tmp"; close $fh2;
314unlink "doiowarn.tmp";
315EXPECT
316Filehandle STDIN reopened as $fh1 only for output at - line 14.