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