Warnings within the condition of while are not reported with the
[p5sagit/p5-mst-13.2.git] / t / lib / warnings / 7fatal
CommitLineData
4438c4b7 1Check FATAL functionality
2
3__END__
4
5# Check compile time warning
551cd33c 6use warnings FATAL => 'syntax' ;
4438c4b7 7{
8 no warnings ;
551cd33c 9 $a =+ 1 ;
4438c4b7 10}
551cd33c 11$a =+ 1 ;
4438c4b7 12print STDERR "The End.\n" ;
13EXPECT
551cd33c 14Reversed += operator at - line 8.
4438c4b7 15########
16
d5a71f30 17# Check compile time warning
18use warnings FATAL => 'all' ;
19{
20 no warnings ;
551cd33c 21 my $a =+ 1 ;
d5a71f30 22}
551cd33c 23my $a =+ 1 ;
d5a71f30 24print STDERR "The End.\n" ;
25EXPECT
551cd33c 26Reversed += operator at - line 8.
d5a71f30 27########
28
4438c4b7 29# Check runtime scope of pragma
30use warnings FATAL => 'uninitialized' ;
31{
32 no warnings ;
33 my $b ; chop $b ;
34}
35my $b ; chop $b ;
36print STDERR "The End.\n" ;
37EXPECT
29489e7c 38Use of uninitialized value $b in scalar chop at - line 8.
4438c4b7 39########
40
41# Check runtime scope of pragma
d5a71f30 42use warnings FATAL => 'all' ;
43{
44 no warnings ;
45 my $b ; chop $b ;
46}
47my $b ; chop $b ;
48print STDERR "The End.\n" ;
49EXPECT
29489e7c 50Use of uninitialized value $b in scalar chop at - line 8.
d5a71f30 51########
52
53# Check runtime scope of pragma
4438c4b7 54no warnings ;
55{
56 use warnings FATAL => 'uninitialized' ;
57 $a = sub { my $b ; chop $b ; }
58}
59&$a ;
60print STDERR "The End.\n" ;
61EXPECT
29489e7c 62Use of uninitialized value $b in scalar chop at - line 6.
4438c4b7 63########
d5a71f30 64
65# Check runtime scope of pragma
66no warnings ;
67{
68 use warnings FATAL => 'all' ;
69 $a = sub { my $b ; chop $b ; }
70}
71&$a ;
72print STDERR "The End.\n" ;
73EXPECT
29489e7c 74Use of uninitialized value $b in scalar chop at - line 6.
d5a71f30 75########
4438c4b7 76
77--FILE-- abc
551cd33c 78$a =+ 1 ;
4438c4b7 791;
80--FILE--
551cd33c 81use warnings FATAL => 'syntax' ;
4438c4b7 82require "./abc";
83EXPECT
84
85########
86
87--FILE-- abc
551cd33c 88use warnings FATAL => 'syntax' ;
4438c4b7 891;
90--FILE--
91require "./abc";
551cd33c 92$a =+ 1 ;
4438c4b7 93EXPECT
94
95########
96
97--FILE-- abc
551cd33c 98use warnings 'syntax' ;
99$a =+ 1 ;
4438c4b7 1001;
101--FILE--
102use warnings FATAL => 'uninitialized' ;
103require "./abc";
104my $a ; chop $a ;
105print STDERR "The End.\n" ;
106EXPECT
551cd33c 107Reversed += operator at ./abc line 2.
29489e7c 108Use of uninitialized value $a in scalar chop at - line 3.
4438c4b7 109########
110
111--FILE-- abc.pm
551cd33c 112use warnings 'syntax' ;
113$a =+ 1 ;
4438c4b7 1141;
115--FILE--
116use warnings FATAL => 'uninitialized' ;
117use abc;
118my $a ; chop $a ;
119print STDERR "The End.\n" ;
120EXPECT
551cd33c 121Reversed += operator at abc.pm line 2.
29489e7c 122Use of uninitialized value $a in scalar chop at - line 3.
4438c4b7 123########
124
125# Check scope of pragma with eval
126no warnings ;
127eval {
128 use warnings FATAL => 'uninitialized' ;
129 my $b ; chop $b ;
130}; print STDERR "-- $@" ;
131my $b ; chop $b ;
132print STDERR "The End.\n" ;
133EXPECT
29489e7c 134-- Use of uninitialized value $b in scalar chop at - line 6.
4438c4b7 135The End.
136########
137
138# Check scope of pragma with eval
139use warnings FATAL => 'uninitialized' ;
140eval {
141 my $b ; chop $b ;
142}; print STDERR "-- $@" ;
143my $b ; chop $b ;
144print STDERR "The End.\n" ;
145EXPECT
29489e7c 146-- Use of uninitialized value $b in scalar chop at - line 5.
147Use of uninitialized value $b in scalar chop at - line 7.
4438c4b7 148########
149
150# Check scope of pragma with eval
151use warnings FATAL => 'uninitialized' ;
152eval {
153 no warnings ;
154 my $b ; chop $b ;
155}; print STDERR $@ ;
156my $b ; chop $b ;
157print STDERR "The End.\n" ;
158EXPECT
29489e7c 159Use of uninitialized value $b in scalar chop at - line 8.
4438c4b7 160########
161
162# Check scope of pragma with eval
163no warnings ;
164eval {
551cd33c 165 use warnings FATAL => 'syntax' ;
166 $a =+ 1 ;
4438c4b7 167}; print STDERR "-- $@" ;
551cd33c 168$a =+ 1 ;
4438c4b7 169print STDERR "The End.\n" ;
170EXPECT
551cd33c 171Reversed += operator at - line 6.
4438c4b7 172########
173
174# Check scope of pragma with eval
551cd33c 175use warnings FATAL => 'syntax' ;
4438c4b7 176eval {
551cd33c 177 $a =+ 1 ;
4438c4b7 178}; print STDERR "-- $@" ;
551cd33c 179$a =+ 1 ;
4438c4b7 180print STDERR "The End.\n" ;
181EXPECT
551cd33c 182Reversed += operator at - line 5.
4438c4b7 183########
184
185# Check scope of pragma with eval
551cd33c 186use warnings FATAL => 'syntax' ;
4438c4b7 187eval {
188 no warnings ;
551cd33c 189 $a =+ 1 ;
4438c4b7 190}; print STDERR $@ ;
551cd33c 191$a =+ 1 ;
4438c4b7 192print STDERR "The End.\n" ;
193EXPECT
551cd33c 194Reversed += operator at - line 8.
4438c4b7 195########
196
197# Check scope of pragma with eval
198no warnings ;
199eval {
551cd33c 200 use warnings FATAL => 'syntax' ;
4438c4b7 201}; print STDERR $@ ;
551cd33c 202$a =+ 1 ;
4438c4b7 203print STDERR "The End.\n" ;
204EXPECT
205The End.
206########
207
208# Check scope of pragma with eval
209no warnings ;
210eval q[
211 use warnings FATAL => 'uninitialized' ;
212 my $b ; chop $b ;
213]; print STDERR "-- $@";
214my $b ; chop $b ;
215print STDERR "The End.\n" ;
216EXPECT
29489e7c 217-- Use of uninitialized value $b in scalar chop at (eval 1) line 3.
4438c4b7 218The End.
219########
220
221# Check scope of pragma with eval
222use warnings FATAL => 'uninitialized' ;
223eval '
224 my $b ; chop $b ;
225'; print STDERR "-- $@" ;
226my $b ; chop $b ;
227print STDERR "The End.\n" ;
228EXPECT
29489e7c 229-- Use of uninitialized value $b in scalar chop at (eval 1) line 2.
230Use of uninitialized value $b in scalar chop at - line 7.
4438c4b7 231########
232
233# Check scope of pragma with eval
234use warnings FATAL => 'uninitialized' ;
235eval '
236 no warnings ;
237 my $b ; chop $b ;
238'; print STDERR $@ ;
239my $b ; chop $b ;
240print STDERR "The End.\n" ;
241EXPECT
29489e7c 242Use of uninitialized value $b in scalar chop at - line 8.
4438c4b7 243########
244
245# Check scope of pragma with eval
246no warnings ;
247eval q[
551cd33c 248 use warnings FATAL => 'syntax' ;
249 $a =+ 1 ;
4438c4b7 250]; print STDERR "-- $@";
551cd33c 251$a =+ 1 ;
4438c4b7 252print STDERR "The End.\n" ;
253EXPECT
551cd33c 254-- Reversed += operator at (eval 1) line 3.
4438c4b7 255The End.
256########
257
258# Check scope of pragma with eval
551cd33c 259use warnings FATAL => 'syntax' ;
4438c4b7 260eval '
551cd33c 261 $a =+ 1 ;
4438c4b7 262'; print STDERR "-- $@";
263print STDERR "The End.\n" ;
264EXPECT
551cd33c 265-- Reversed += operator at (eval 1) line 2.
4438c4b7 266The End.
267########
268
269# Check scope of pragma with eval
551cd33c 270use warnings FATAL => 'syntax' ;
4438c4b7 271eval '
272 no warnings ;
551cd33c 273 $a =+ 1 ;
4438c4b7 274'; print STDERR "-- $@";
551cd33c 275$a =+ 1 ;
4438c4b7 276print STDERR "The End.\n" ;
277EXPECT
551cd33c 278Reversed += operator at - line 8.
f1f33818 279########
2bd168e2 280# TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
f1f33818 281
282use warnings 'void' ;
283
284time ;
285
286{
287 use warnings FATAL => qw(void) ;
1518d620 288 $a = "abc";
289 length $a ;
f1f33818 290}
291
292join "", 1,2,3 ;
293
294print "done\n" ;
295EXPECT
296Useless use of time in void context at - line 4.
1518d620 297Useless use of length in void context at - line 9.
f1f33818 298########
2bd168e2 299# TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
f1f33818 300
301use warnings ;
302
303time ;
304
305{
306 use warnings FATAL => qw(void) ;
1518d620 307 $a = "abc";
308 length $a ;
f1f33818 309}
310
311join "", 1,2,3 ;
312
313print "done\n" ;
314EXPECT
315Useless use of time in void context at - line 4.
1518d620 316Useless use of length in void context at - line 9.
08540116 317########
318
319use warnings FATAL => 'all';
320{
321 no warnings;
322 my $b ; chop $b;
323 {
324 use warnings ;
325 my $b ; chop $b;
326 }
327}
328my $b ; chop $b;
329print STDERR "The End.\n" ;
330EXPECT
29489e7c 331Use of uninitialized value $b in scalar chop at - line 8.
332Use of uninitialized value $b in scalar chop at - line 11.
08540116 333########
334
335use warnings FATAL => 'all';
336{
337 no warnings FATAL => 'all';
338 my $b ; chop $b;
339 {
340 use warnings ;
341 my $b ; chop $b;
342 }
343}
344my $b ; chop $b;
345print STDERR "The End.\n" ;
346EXPECT
29489e7c 347Use of uninitialized value $b in scalar chop at - line 8.
348Use of uninitialized value $b in scalar chop at - line 11.
08540116 349########
350
351use warnings FATAL => 'all';
352{
353 no warnings 'syntax';
354 {
355 use warnings ;
356 my $b ; chop $b;
357 }
358}
359my $b ; chop $b;
360print STDERR "The End.\n" ;
361EXPECT
29489e7c 362Use of uninitialized value $b in scalar chop at - line 7.
6e9af7e4 363########
364
365use warnings FATAL => 'syntax', NONFATAL => 'void' ;
366
1518d620 367$a = "abc";
368length $a;
6e9af7e4 369print STDERR "The End.\n" ;
370EXPECT
1518d620 371Useless use of length in void context at - line 5.
6e9af7e4 372The End.
373########
374
375use warnings FATAL => 'all', NONFATAL => 'void' ;
376
1518d620 377$a = "abc";
378length $a;
6e9af7e4 379print STDERR "The End.\n" ;
380EXPECT
1518d620 381Useless use of length in void context at - line 5.
6e9af7e4 382The End.
383########
384
385use warnings FATAL => 'all', NONFATAL => 'void' ;
386
387my $a ; chomp $a;
1518d620 388
389$b = "abc" ;
390length $b;
6e9af7e4 391print STDERR "The End.\n" ;
392EXPECT
1518d620 393Useless use of length in void context at - line 7.
29489e7c 394Use of uninitialized value $a in scalar chomp at - line 4.
6e9af7e4 395########
396
397use warnings FATAL => 'void', NONFATAL => 'void' ;
1518d620 398$a = "abc";
399length $a;
6e9af7e4 400print STDERR "The End.\n" ;
401EXPECT
402Useless use of length in void context at - line 4.
403The End.
404########
2bd168e2 405# TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
6e9af7e4 406
407use warnings NONFATAL => 'void', FATAL => 'void' ;
1518d620 408$a = "abc";
409length $a;
6e9af7e4 410print STDERR "The End.\n" ;
411EXPECT
412Useless use of length in void context at - line 4.
413########
414
415use warnings FATAL => 'all', NONFATAL => 'io';
416no warnings 'once';
417
418open(F, "<true\ncd");
419close "fred" ;
420print STDERR "The End.\n" ;
421EXPECT
422Unsuccessful open on filename containing newline at - line 5.
423close() on unopened filehandle fred at - line 6.
424The End.
425########
426
427use warnings FATAL => 'all', NONFATAL => 'io', FATAL => 'unopened' ;
428no warnings 'once';
429
430open(F, "<true\ncd");
431close "fred" ;
432print STDERR "The End.\n" ;
433EXPECT
434Unsuccessful open on filename containing newline at - line 5.
435close() on unopened filehandle fred at - line 6.