Commit | Line | Data |
---|---|---|
599cee73 PM |
1 | pp_sys.c AOK |
2 | ||
767a6a26 | 3 | untie attempted while %d inner references still exist [pp_untie] |
599cee73 PM |
4 | sub TIESCALAR { bless [] } ; tie $a, 'main'; untie $a ; |
5 | ||
c289d2f7 JH |
6 | fileno() on unopened filehandle abc [pp_fileno] |
7 | $a = "abc"; fileno($a) | |
8 | ||
9 | binmode() on unopened filehandle abc [pp_binmode] | |
10 | $a = "abc"; fileno($a) | |
11 | ||
12 | printf() on unopened filehandle abc [pp_prtf] | |
13 | $a = "abc"; printf $a "fred" | |
14 | ||
767a6a26 | 15 | Filehandle %s opened only for input [pp_leavewrite] |
599cee73 PM |
16 | format STDIN = |
17 | . | |
18 | write STDIN; | |
19 | ||
9a7dcd9c | 20 | write() on closed filehandle %s [pp_leavewrite] |
599cee73 PM |
21 | format STDIN = |
22 | . | |
23 | close STDIN; | |
24 | write STDIN ; | |
25 | ||
767a6a26 | 26 | page overflow [pp_leavewrite] |
599cee73 | 27 | |
2dd78f96 | 28 | printf() on unopened filehandle abc [pp_prtf] |
599cee73 PM |
29 | $a = "abc"; printf $a "fred" |
30 | ||
767a6a26 | 31 | Filehandle %s opened only for input [pp_prtf] |
599cee73 PM |
32 | $a = "abc"; |
33 | printf $a "fred" | |
34 | ||
9a7dcd9c | 35 | printf() on closed filehandle %s [pp_prtf] |
599cee73 PM |
36 | close STDIN ; |
37 | printf STDIN "fred" | |
38 | ||
69282e91 | 39 | syswrite() on closed filehandle %s [pp_send] |
599cee73 PM |
40 | close STDIN; |
41 | syswrite STDIN, "fred", 1; | |
42 | ||
69282e91 | 43 | send() on closed socket %s [pp_send] |
599cee73 PM |
44 | close STDIN; |
45 | send STDIN, "fred", 1 | |
46 | ||
69282e91 | 47 | bind() on closed socket %s [pp_bind] |
599cee73 PM |
48 | close STDIN; |
49 | bind STDIN, "fred" ; | |
50 | ||
51 | ||
69282e91 | 52 | connect() on closed socket %s [pp_connect] |
599cee73 PM |
53 | close STDIN; |
54 | connect STDIN, "fred" ; | |
55 | ||
69282e91 | 56 | listen() on closed socket %s [pp_listen] |
599cee73 PM |
57 | close STDIN; |
58 | listen STDIN, 2; | |
59 | ||
69282e91 | 60 | accept() on closed socket %s [pp_accept] |
599cee73 | 61 | close STDIN; |
69282e91 | 62 | accept "fred", STDIN ; |
599cee73 | 63 | |
69282e91 | 64 | shutdown() on closed socket %s [pp_shutdown] |
599cee73 PM |
65 | close STDIN; |
66 | shutdown STDIN, 0; | |
67 | ||
69282e91 GS |
68 | setsockopt() on closed socket %s [pp_ssockopt] |
69 | getsockopt() on closed socket %s [pp_ssockopt] | |
599cee73 PM |
70 | close STDIN; |
71 | setsockopt STDIN, 1,2,3; | |
72 | getsockopt STDIN, 1,2; | |
73 | ||
69282e91 GS |
74 | getsockname() on closed socket %s [pp_getpeername] |
75 | getpeername() on closed socket %s [pp_getpeername] | |
599cee73 PM |
76 | close STDIN; |
77 | getsockname STDIN; | |
78 | getpeername STDIN; | |
79 | ||
69282e91 | 80 | flock() on closed socket %s [pp_flock] |
bc37a18f | 81 | flock() on closed socket [pp_flock] |
69282e91 GS |
82 | close STDIN; |
83 | flock STDIN, 8; | |
bc37a18f | 84 | flock $a, 8; |
69282e91 | 85 | |
767a6a26 | 86 | warn(warn_nl, "stat"); [pp_stat] |
599cee73 | 87 | |
2dd78f96 JH |
88 | -T on closed filehandle %s |
89 | stat() on closed filehandle %s | |
90 | close STDIN ; -T STDIN ; stat(STDIN) ; | |
599cee73 | 91 | |
767a6a26 | 92 | warn(warn_nl, "open"); [pp_fttext] |
599cee73 PM |
93 | -T "abc\ndef" ; |
94 | ||
767a6a26 PM |
95 | Filehandle %s opened only for output [pp_sysread] |
96 | my $file = "./xcv" ; | |
97 | open(F, ">$file") ; | |
98 | my $a = sysread(F, $a,10) ; | |
5d3e98de | 99 | |
90133b69 RGS |
100 | lstat on filehandle %s [pp_lstat] |
101 | ||
102 | getc() on unopened filehandle [pp_getc] | |
103 | ||
104 | getc() on closed filehandle [pp_getc] | |
599cee73 | 105 | |
4ef2275c GA |
106 | Non-string passed as bitmask [pp_sselect] |
107 | ||
599cee73 | 108 | __END__ |
767a6a26 | 109 | # pp_sys.c [pp_untie] |
4438c4b7 | 110 | use warnings 'untie' ; |
599cee73 PM |
111 | sub TIESCALAR { bless [] } ; |
112 | $b = tie $a, 'main'; | |
113 | untie $a ; | |
4438c4b7 | 114 | no warnings 'untie' ; |
0453d815 PM |
115 | $c = tie $d, 'main'; |
116 | untie $d ; | |
599cee73 PM |
117 | EXPECT |
118 | untie attempted while 1 inner references still exist at - line 5. | |
119 | ######## | |
767a6a26 | 120 | # pp_sys.c [pp_leavewrite] |
4438c4b7 | 121 | use warnings 'io' ; |
599cee73 PM |
122 | format STDIN = |
123 | . | |
124 | write STDIN; | |
4438c4b7 | 125 | no warnings 'io' ; |
0453d815 | 126 | write STDIN; |
599cee73 | 127 | EXPECT |
43693395 | 128 | Filehandle STDIN opened only for input at - line 5. |
599cee73 | 129 | ######## |
767a6a26 | 130 | # pp_sys.c [pp_leavewrite] |
4438c4b7 | 131 | use warnings 'closed' ; |
599cee73 PM |
132 | format STDIN = |
133 | . | |
134 | close STDIN; | |
135 | write STDIN; | |
69282e91 GS |
136 | opendir STDIN, "."; |
137 | write STDIN; | |
138 | closedir STDIN; | |
4438c4b7 | 139 | no warnings 'closed' ; |
0453d815 | 140 | write STDIN; |
69282e91 GS |
141 | opendir STDIN, "."; |
142 | write STDIN; | |
599cee73 | 143 | EXPECT |
43693395 GS |
144 | write() on closed filehandle STDIN at - line 6. |
145 | write() on closed filehandle STDIN at - line 8. | |
146 | (Are you trying to call write() on dirhandle STDIN?) | |
599cee73 | 147 | ######## |
767a6a26 | 148 | # pp_sys.c [pp_leavewrite] |
4438c4b7 | 149 | use warnings 'io' ; |
599cee73 PM |
150 | format STDOUT_TOP = |
151 | abc | |
152 | . | |
153 | format STDOUT = | |
154 | def | |
155 | ghi | |
156 | . | |
157 | $= = 1 ; | |
158 | $- =1 ; | |
3eeba6fb | 159 | open STDOUT, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ; |
599cee73 | 160 | write ; |
4438c4b7 | 161 | no warnings 'io' ; |
0453d815 | 162 | write ; |
599cee73 PM |
163 | EXPECT |
164 | page overflow at - line 13. | |
165 | ######## | |
767a6a26 | 166 | # pp_sys.c [pp_prtf] |
4438c4b7 | 167 | use warnings 'unopened' ; |
599cee73 | 168 | $a = "abc"; |
0453d815 | 169 | printf $a "fred"; |
4438c4b7 | 170 | no warnings 'unopened' ; |
0453d815 | 171 | printf $a "fred"; |
599cee73 | 172 | EXPECT |
2dd78f96 | 173 | printf() on unopened filehandle abc at - line 4. |
599cee73 | 174 | ######## |
767a6a26 | 175 | # pp_sys.c [pp_prtf] |
4438c4b7 | 176 | use warnings 'closed' ; |
599cee73 | 177 | close STDIN ; |
0453d815 | 178 | printf STDIN "fred"; |
69282e91 GS |
179 | opendir STDIN, "."; |
180 | printf STDIN "fred"; | |
181 | closedir STDIN; | |
4438c4b7 | 182 | no warnings 'closed' ; |
0453d815 | 183 | printf STDIN "fred"; |
69282e91 GS |
184 | opendir STDIN, "."; |
185 | printf STDIN "fred"; | |
599cee73 | 186 | EXPECT |
43693395 GS |
187 | printf() on closed filehandle STDIN at - line 4. |
188 | printf() on closed filehandle STDIN at - line 6. | |
189 | (Are you trying to call printf() on dirhandle STDIN?) | |
599cee73 | 190 | ######## |
767a6a26 | 191 | # pp_sys.c [pp_prtf] |
4438c4b7 | 192 | use warnings 'io' ; |
0453d815 | 193 | printf STDIN "fred"; |
4438c4b7 | 194 | no warnings 'io' ; |
0453d815 | 195 | printf STDIN "fred"; |
599cee73 | 196 | EXPECT |
43693395 | 197 | Filehandle STDIN opened only for input at - line 3. |
599cee73 | 198 | ######## |
767a6a26 | 199 | # pp_sys.c [pp_send] |
4438c4b7 | 200 | use warnings 'closed' ; |
599cee73 PM |
201 | close STDIN; |
202 | syswrite STDIN, "fred", 1; | |
69282e91 GS |
203 | opendir STDIN, "."; |
204 | syswrite STDIN, "fred", 1; | |
205 | closedir STDIN; | |
4438c4b7 | 206 | no warnings 'closed' ; |
0453d815 | 207 | syswrite STDIN, "fred", 1; |
69282e91 GS |
208 | opendir STDIN, "."; |
209 | syswrite STDIN, "fred", 1; | |
599cee73 | 210 | EXPECT |
43693395 GS |
211 | syswrite() on closed filehandle STDIN at - line 4. |
212 | syswrite() on closed filehandle STDIN at - line 6. | |
213 | (Are you trying to call syswrite() on dirhandle STDIN?) | |
69282e91 GS |
214 | ######## |
215 | # pp_sys.c [pp_flock] | |
f0963acb GS |
216 | use Config; |
217 | BEGIN { | |
9bdf8ebc JH |
218 | if ( !$Config{d_flock} && |
219 | !$Config{d_fcntl_can_lock} && | |
220 | !$Config{d_lockf} ) { | |
f0963acb GS |
221 | print <<EOM ; |
222 | SKIPPED | |
223 | # flock not present | |
224 | EOM | |
225 | exit ; | |
226 | } | |
227 | } | |
bc37a18f | 228 | use warnings qw(unopened closed); |
69282e91 GS |
229 | close STDIN; |
230 | flock STDIN, 8; | |
231 | opendir STDIN, "."; | |
232 | flock STDIN, 8; | |
bc37a18f RG |
233 | flock FOO, 8; |
234 | flock $a, 8; | |
235 | no warnings qw(unopened closed); | |
69282e91 GS |
236 | flock STDIN, 8; |
237 | opendir STDIN, "."; | |
238 | flock STDIN, 8; | |
bc37a18f RG |
239 | flock FOO, 8; |
240 | flock $a, 8; | |
69282e91 | 241 | EXPECT |
43693395 | 242 | flock() on closed filehandle STDIN at - line 16. |
c934501c | 243 | flock() on closed filehandle STDIN at - line 18. |
43693395 | 244 | (Are you trying to call flock() on dirhandle STDIN?) |
c934501c JH |
245 | flock() on unopened filehandle FOO at - line 19. |
246 | flock() on unopened filehandle at - line 20. | |
599cee73 | 247 | ######## |
767a6a26 | 248 | # pp_sys.c [pp_prtf pp_send pp_bind pp_connect pp_listen pp_accept pp_shutdown pp_ssockopt ppp_getpeername] |
4438c4b7 | 249 | use warnings 'io' ; |
599cee73 PM |
250 | use Config; |
251 | BEGIN { | |
252 | if ( $^O ne 'VMS' and ! $Config{d_socket}) { | |
253 | print <<EOM ; | |
254 | SKIPPED | |
255 | # send not present | |
256 | # bind not present | |
257 | # connect not present | |
258 | # accept not present | |
259 | # shutdown not present | |
260 | # setsockopt not present | |
261 | # getsockopt not present | |
262 | # getsockname not present | |
263 | # getpeername not present | |
264 | EOM | |
265 | exit ; | |
266 | } | |
267 | } | |
268 | close STDIN; | |
269 | send STDIN, "fred", 1; | |
270 | bind STDIN, "fred" ; | |
271 | connect STDIN, "fred" ; | |
272 | listen STDIN, 2; | |
69282e91 GS |
273 | accept "fred", STDIN; |
274 | shutdown STDIN, 0; | |
275 | setsockopt STDIN, 1,2,3; | |
276 | getsockopt STDIN, 1,2; | |
277 | getsockname STDIN; | |
278 | getpeername STDIN; | |
279 | opendir STDIN, "."; | |
280 | send STDIN, "fred", 1; | |
281 | bind STDIN, "fred" ; | |
282 | connect STDIN, "fred" ; | |
283 | listen STDIN, 2; | |
284 | accept "fred", STDIN; | |
599cee73 PM |
285 | shutdown STDIN, 0; |
286 | setsockopt STDIN, 1,2,3; | |
287 | getsockopt STDIN, 1,2; | |
288 | getsockname STDIN; | |
289 | getpeername STDIN; | |
69282e91 | 290 | closedir STDIN; |
4438c4b7 | 291 | no warnings 'io' ; |
0453d815 PM |
292 | send STDIN, "fred", 1; |
293 | bind STDIN, "fred" ; | |
294 | connect STDIN, "fred" ; | |
295 | listen STDIN, 2; | |
296 | accept STDIN, "fred" ; | |
297 | shutdown STDIN, 0; | |
298 | setsockopt STDIN, 1,2,3; | |
299 | getsockopt STDIN, 1,2; | |
300 | getsockname STDIN; | |
301 | getpeername STDIN; | |
69282e91 GS |
302 | opendir STDIN, "."; |
303 | send STDIN, "fred", 1; | |
304 | bind STDIN, "fred" ; | |
305 | connect STDIN, "fred" ; | |
306 | listen STDIN, 2; | |
307 | accept "fred", STDIN; | |
308 | shutdown STDIN, 0; | |
309 | setsockopt STDIN, 1,2,3; | |
310 | getsockopt STDIN, 1,2; | |
311 | getsockname STDIN; | |
312 | getpeername STDIN; | |
599cee73 | 313 | EXPECT |
43693395 GS |
314 | send() on closed socket STDIN at - line 22. |
315 | bind() on closed socket STDIN at - line 23. | |
316 | connect() on closed socket STDIN at - line 24. | |
317 | listen() on closed socket STDIN at - line 25. | |
318 | accept() on closed socket STDIN at - line 26. | |
319 | shutdown() on closed socket STDIN at - line 27. | |
320 | setsockopt() on closed socket STDIN at - line 28. | |
321 | getsockopt() on closed socket STDIN at - line 29. | |
322 | getsockname() on closed socket STDIN at - line 30. | |
323 | getpeername() on closed socket STDIN at - line 31. | |
324 | send() on closed socket STDIN at - line 33. | |
325 | (Are you trying to call send() on dirhandle STDIN?) | |
326 | bind() on closed socket STDIN at - line 34. | |
327 | (Are you trying to call bind() on dirhandle STDIN?) | |
328 | connect() on closed socket STDIN at - line 35. | |
329 | (Are you trying to call connect() on dirhandle STDIN?) | |
330 | listen() on closed socket STDIN at - line 36. | |
331 | (Are you trying to call listen() on dirhandle STDIN?) | |
332 | accept() on closed socket STDIN at - line 37. | |
333 | (Are you trying to call accept() on dirhandle STDIN?) | |
334 | shutdown() on closed socket STDIN at - line 38. | |
335 | (Are you trying to call shutdown() on dirhandle STDIN?) | |
336 | setsockopt() on closed socket STDIN at - line 39. | |
337 | (Are you trying to call setsockopt() on dirhandle STDIN?) | |
338 | getsockopt() on closed socket STDIN at - line 40. | |
339 | (Are you trying to call getsockopt() on dirhandle STDIN?) | |
340 | getsockname() on closed socket STDIN at - line 41. | |
341 | (Are you trying to call getsockname() on dirhandle STDIN?) | |
342 | getpeername() on closed socket STDIN at - line 42. | |
343 | (Are you trying to call getpeername() on dirhandle STDIN?) | |
599cee73 | 344 | ######## |
767a6a26 | 345 | # pp_sys.c [pp_stat] |
4438c4b7 | 346 | use warnings 'newline' ; |
599cee73 | 347 | stat "abc\ndef"; |
4438c4b7 | 348 | no warnings 'newline' ; |
0453d815 | 349 | stat "abc\ndef"; |
599cee73 PM |
350 | EXPECT |
351 | Unsuccessful stat on filename containing newline at - line 3. | |
352 | ######## | |
767a6a26 | 353 | # pp_sys.c [pp_fttext] |
2dd78f96 | 354 | use warnings qw(unopened closed) ; |
599cee73 PM |
355 | close STDIN ; |
356 | -T STDIN ; | |
9ddeeac9 | 357 | stat(STDIN) ; |
2dd78f96 JH |
358 | -T HOCUS; |
359 | stat(POCUS); | |
360 | no warnings qw(unopened closed) ; | |
0453d815 | 361 | -T STDIN ; |
9ddeeac9 | 362 | stat(STDIN); |
2dd78f96 JH |
363 | -T HOCUS; |
364 | stat(POCUS); | |
599cee73 | 365 | EXPECT |
2dd78f96 JH |
366 | -T on closed filehandle STDIN at - line 4. |
367 | stat() on closed filehandle STDIN at - line 5. | |
368 | -T on unopened filehandle HOCUS at - line 6. | |
369 | stat() on unopened filehandle POCUS at - line 7. | |
599cee73 | 370 | ######## |
767a6a26 | 371 | # pp_sys.c [pp_fttext] |
4438c4b7 | 372 | use warnings 'newline' ; |
599cee73 | 373 | -T "abc\ndef" ; |
4438c4b7 | 374 | no warnings 'newline' ; |
0453d815 | 375 | -T "abc\ndef" ; |
599cee73 PM |
376 | EXPECT |
377 | Unsuccessful open on filename containing newline at - line 3. | |
767a6a26 PM |
378 | ######## |
379 | # pp_sys.c [pp_sysread] | |
380 | use warnings 'io' ; | |
6bbf1b34 LM |
381 | if ($^O eq 'dos') { |
382 | print <<EOM ; | |
383 | SKIPPED | |
384 | # skipped on dos | |
385 | EOM | |
386 | exit ; | |
387 | } | |
767a6a26 PM |
388 | my $file = "./xcv" ; |
389 | open(F, ">$file") ; | |
390 | my $a = sysread(F, $a,10) ; | |
391 | no warnings 'io' ; | |
392 | my $a = sysread(F, $a,10) ; | |
393 | close F ; | |
b5fe5ca2 SR |
394 | use warnings 'io' ; |
395 | sysread(F, $a, 10); | |
396 | read(F, $a, 10); | |
397 | sysread(NONEXISTENT, $a, 10); | |
398 | read(NONEXISTENT, $a, 10); | |
767a6a26 PM |
399 | unlink $file ; |
400 | EXPECT | |
c6f2523f | 401 | Filehandle F opened only for output at - line 12. |
b5fe5ca2 SR |
402 | sysread() on closed filehandle F at - line 17. |
403 | read() on closed filehandle F at - line 18. | |
404 | sysread() on unopened filehandle NONEXISTENT at - line 19. | |
405 | read() on unopened filehandle NONEXISTENT at - line 20. | |
c289d2f7 JH |
406 | ######## |
407 | # pp_sys.c [pp_binmode] | |
408 | use warnings 'unopened' ; | |
409 | binmode(BLARG); | |
410 | $a = "BLERG";binmode($a); | |
411 | EXPECT | |
412 | binmode() on unopened filehandle BLARG at - line 3. | |
413 | binmode() on unopened filehandle at - line 4. | |
5d3e98de RGS |
414 | ######## |
415 | # pp_sys.c [pp_lstat] | |
416 | use warnings 'io'; | |
365c80fa RGS |
417 | open FH, "harness" or die "# $!"; |
418 | lstat FH; | |
5d3e98de RGS |
419 | open my $fh, $0 or die "# $!"; |
420 | lstat $fh; | |
421 | no warnings 'io'; | |
365c80fa | 422 | lstat FH; |
5d3e98de | 423 | lstat $fh; |
365c80fa | 424 | close FH; |
5d3e98de RGS |
425 | close $fh; |
426 | EXPECT | |
365c80fa RGS |
427 | lstat() on filehandle FH at - line 4. |
428 | lstat() on filehandle $fh at - line 6. | |
90133b69 RGS |
429 | ######## |
430 | # pp_sys.c [pp_getc] | |
431 | use warnings qw(unopened closed) ; | |
432 | getc FOO; | |
433 | close STDIN; | |
434 | getc STDIN; | |
97e322ff RGS |
435 | # Create an empty file |
436 | $file = 'getcwarn.tmp'; | |
437 | open FH1, ">$file" or die "# $!"; close FH1; | |
438 | open FH2, $file or die "# $!"; | |
439 | getc FH2; # Should not warn at EOF | |
440 | close FH2; | |
441 | getc FH2; # Warns, now | |
442 | unlink $file; | |
90133b69 RGS |
443 | no warnings qw(unopened closed) ; |
444 | getc FOO; | |
445 | getc STDIN; | |
97e322ff | 446 | getc FH2; |
90133b69 RGS |
447 | EXPECT |
448 | getc() on unopened filehandle FOO at - line 3. | |
449 | getc() on closed filehandle STDIN at - line 5. | |
97e322ff | 450 | getc() on closed filehandle FH2 at - line 12. |
4ef2275c GA |
451 | ######## |
452 | # pp_sys.c [pp_sselect] | |
453 | use warnings 'misc'; | |
454 | $x = 1; | |
455 | select $x, undef, undef, undef; | |
456 | no warnings 'misc'; | |
457 | select $x, undef, undef, undef; | |
458 | EXPECT | |
459 | Non-string passed as bitmask at - line 4. | |
4dc171f0 PD |
460 | ######## |
461 | opendir FOO, '.'; closedir FOO; | |
462 | open BAR, '.'; close BAR; | |
463 | opendir $dh, '.'; closedir $dh; | |
464 | open $fh, '.'; close $fh; | |
465 | chdir FOO; | |
466 | chdir BAR; | |
467 | chdir $dh; | |
468 | chdir $fh; | |
469 | use warnings qw(unopened closed) ; | |
470 | chdir FOO; | |
471 | chdir BAR; | |
472 | chdir $dh; | |
473 | chdir $fh; | |
474 | EXPECT | |
475 | chdir() on unopened filehandle FOO at - line 10. | |
476 | chdir() on closed filehandle BAR at - line 11. | |
477 | chdir() on unopened filehandle $dh at - line 12. | |
478 | chdir() on closed filehandle $fh at - line 13. |