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