Commit | Line | Data |
8d93267c |
1 | Check warnings::enabled & warnings::warn |
2 | |
3 | __END__ |
4 | |
a95b6808 |
5 | --FILE-- abc0.pm |
6 | package abc0 ; |
8d93267c |
7 | use warnings "io" ; |
d3a7d8c7 |
8 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
9 | print "ok2\n" if ! warnings::enabled("io") ; |
10 | 1; |
a95b6808 |
11 | --FILE-- |
8d93267c |
12 | no warnings; |
a95b6808 |
13 | use abc0 ; |
8d93267c |
14 | EXPECT |
15 | ok1 |
16 | ok2 |
17 | ######## |
18 | |
a95b6808 |
19 | --FILE-- abc1.pm |
20 | package abc1 ; |
8d93267c |
21 | no warnings ; |
d3a7d8c7 |
22 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
23 | print "ok2\n" if warnings::enabled("syntax") ; |
24 | 1; |
a95b6808 |
25 | --FILE-- |
8d93267c |
26 | use warnings 'syntax' ; |
a95b6808 |
27 | use abc1 ; |
8d93267c |
28 | EXPECT |
29 | ok1 |
30 | ok2 |
31 | ######## |
32 | |
a95b6808 |
33 | --FILE-- abc2.pm |
34 | package abc2 ; |
8d93267c |
35 | use warnings 'syntax' ; |
d3a7d8c7 |
36 | print "ok1\n" if warnings::enabled('io') ; |
8d93267c |
37 | print "ok2\n" if ! warnings::enabled("syntax") ; |
38 | 1; |
a95b6808 |
39 | --FILE-- |
8d93267c |
40 | use warnings 'io' ; |
a95b6808 |
41 | use abc2 ; |
8d93267c |
42 | EXPECT |
43 | ok1 |
44 | ok2 |
45 | ######## |
46 | |
a95b6808 |
47 | --FILE-- abc3 |
8d93267c |
48 | no warnings ; |
d3a7d8c7 |
49 | print "ok1\n" if !warnings::enabled('all') ; |
4f527b71 |
50 | print "ok2\n" if !warnings::enabled("syntax") ; |
8d93267c |
51 | 1; |
a95b6808 |
52 | --FILE-- |
8d93267c |
53 | use warnings 'syntax' ; |
a95b6808 |
54 | require "abc3" ; |
8d93267c |
55 | EXPECT |
56 | ok1 |
57 | ok2 |
58 | ######## |
59 | |
a95b6808 |
60 | --FILE-- abc4 |
8d93267c |
61 | use warnings 'syntax' ; |
d3a7d8c7 |
62 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
63 | print "ok2\n" if ! warnings::enabled("syntax") ; |
4f527b71 |
64 | print "ok3\n" if ! warnings::enabled("io") ; |
8d93267c |
65 | 1; |
a95b6808 |
66 | --FILE-- |
8d93267c |
67 | use warnings 'io' ; |
a95b6808 |
68 | require "abc4" ; |
8d93267c |
69 | EXPECT |
70 | ok1 |
71 | ok2 |
72 | ok3 |
73 | ######## |
74 | |
a95b6808 |
75 | --FILE-- abc5.pm |
76 | package abc5 ; |
8d93267c |
77 | no warnings ; |
78 | sub check { |
d3a7d8c7 |
79 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
80 | print "ok2\n" if warnings::enabled("syntax") ; |
81 | } |
82 | 1; |
a95b6808 |
83 | --FILE-- |
8d93267c |
84 | use warnings 'syntax' ; |
a95b6808 |
85 | use abc5 ; |
86 | abc5::check() ; |
8d93267c |
87 | EXPECT |
88 | ok1 |
89 | ok2 |
90 | ######## |
91 | |
a95b6808 |
92 | --FILE-- abc6.pm |
93 | package abc6 ; |
8d93267c |
94 | use warnings 'io' ; |
95 | sub check { |
d3a7d8c7 |
96 | print "ok1\n" if ! warnings::enabled('all') ; |
97 | print "ok2\n" if warnings::enabled("syntax") ; |
8d93267c |
98 | print "ok3\n" if ! warnings::enabled("io") ; |
99 | } |
100 | 1; |
a95b6808 |
101 | --FILE-- |
8d93267c |
102 | use warnings 'syntax' ; |
a95b6808 |
103 | use abc6 ; |
104 | abc6::check() ; |
8d93267c |
105 | EXPECT |
106 | ok1 |
107 | ok2 |
108 | ok3 |
109 | ######## |
110 | |
a95b6808 |
111 | --FILE-- abc7 |
112 | package abc7 ; |
8d93267c |
113 | no warnings ; |
114 | sub check { |
d3a7d8c7 |
115 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
116 | print "ok2\n" if warnings::enabled("syntax") ; |
117 | } |
118 | 1; |
a95b6808 |
119 | --FILE-- |
8d93267c |
120 | use warnings 'syntax' ; |
a95b6808 |
121 | require "abc7" ; |
122 | abc7::check() ; |
8d93267c |
123 | EXPECT |
124 | ok1 |
125 | ok2 |
126 | ######## |
127 | |
a95b6808 |
128 | --FILE-- abc8 |
129 | package abc8 ; |
8d93267c |
130 | use warnings 'io' ; |
131 | sub check { |
d3a7d8c7 |
132 | print "ok1\n" if ! warnings::enabled('all') ; |
133 | print "ok2\n" if warnings::enabled("syntax") ; |
8d93267c |
134 | print "ok3\n" if ! warnings::enabled("io") ; |
135 | } |
136 | 1; |
a95b6808 |
137 | --FILE-- |
8d93267c |
138 | use warnings 'syntax' ; |
a95b6808 |
139 | require "abc8" ; |
140 | abc8::check() ; |
8d93267c |
141 | EXPECT |
142 | ok1 |
143 | ok2 |
144 | ok3 |
145 | ######## |
146 | |
a95b6808 |
147 | --FILE-- abc9.pm |
148 | package abc9 ; |
8d93267c |
149 | use warnings "io" ; |
d3a7d8c7 |
150 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
151 | print "ok2\n" if ! warnings::enabled("io") ; |
152 | 1; |
153 | --FILE-- def.pm |
f89e79d6 |
154 | package def; |
8d93267c |
155 | no warnings; |
a95b6808 |
156 | use abc9 ; |
8d93267c |
157 | 1; |
a95b6808 |
158 | --FILE-- |
8d93267c |
159 | use warnings; |
160 | use def ; |
161 | EXPECT |
162 | ok1 |
163 | ok2 |
164 | ######## |
165 | |
a95b6808 |
166 | --FILE-- abc10.pm |
167 | package abc10 ; |
8d93267c |
168 | no warnings ; |
d3a7d8c7 |
169 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
170 | print "ok2\n" if warnings::enabled("syntax") ; |
171 | print "ok3\n" if !warnings::enabled("io") ; |
172 | 1; |
173 | --FILE-- def.pm |
174 | use warnings 'syntax' ; |
d3a7d8c7 |
175 | print "ok4\n" if !warnings::enabled('all') ; |
4f527b71 |
176 | print "ok5\n" if !warnings::enabled("io") ; |
a95b6808 |
177 | use abc10 ; |
8d93267c |
178 | 1; |
179 | --FILE-- |
180 | use warnings 'io' ; |
181 | use def ; |
182 | EXPECT |
183 | ok1 |
184 | ok2 |
185 | ok3 |
186 | ok4 |
187 | ok5 |
188 | ######## |
189 | |
a95b6808 |
190 | --FILE-- abc11.pm |
191 | package abc11 ; |
8d93267c |
192 | no warnings ; |
193 | sub check { |
d3a7d8c7 |
194 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
195 | print "ok2\n" if warnings::enabled("syntax") ; |
196 | } |
197 | 1; |
a95b6808 |
198 | --FILE-- |
8d93267c |
199 | use warnings 'syntax' ; |
a95b6808 |
200 | use abc11 ; |
201 | eval { |
202 | abc11::check() ; |
c3186b65 |
203 | }; |
8d93267c |
204 | print $@ ; |
205 | EXPECT |
206 | ok1 |
207 | ok2 |
208 | ######## |
209 | |
a95b6808 |
210 | --FILE-- abc12.pm |
211 | package abc12 ; |
8d93267c |
212 | use warnings 'io' ; |
213 | sub check { |
d3a7d8c7 |
214 | print "ok1\n" if ! warnings::enabled('all') ; |
215 | print "ok2\n" if warnings::enabled("syntax") ; |
8d93267c |
216 | print "ok3\n" if ! warnings::enabled("io") ; |
217 | } |
218 | 1; |
a95b6808 |
219 | --FILE-- |
8d93267c |
220 | use warnings 'syntax' ; |
a95b6808 |
221 | use abc12 ; |
222 | eval { |
223 | abc12::check() ; |
c3186b65 |
224 | } ; |
8d93267c |
225 | print $@ ; |
226 | EXPECT |
227 | ok1 |
228 | ok2 |
229 | ok3 |
230 | ######## |
231 | |
a95b6808 |
232 | --FILE-- abc13 |
233 | package abc13 ; |
8d93267c |
234 | no warnings ; |
235 | sub check { |
d3a7d8c7 |
236 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
237 | print "ok2\n" if warnings::enabled("syntax") ; |
238 | } |
239 | 1; |
a95b6808 |
240 | --FILE-- |
8d93267c |
241 | use warnings 'syntax' ; |
a95b6808 |
242 | require "abc13" ; |
243 | eval { |
244 | abc13::check() ; |
c3186b65 |
245 | } ; |
8d93267c |
246 | print $@ ; |
247 | EXPECT |
248 | ok1 |
249 | ok2 |
250 | ######## |
251 | |
a95b6808 |
252 | --FILE-- abc14 |
253 | package abc14 ; |
8d93267c |
254 | use warnings 'io' ; |
255 | sub check { |
d3a7d8c7 |
256 | print "ok1\n" if !warnings::enabled('all') ; |
8d93267c |
257 | print "ok2\n" if warnings::enabled("syntax") ; |
258 | print "ok3\n" if warnings::enabled("io") ; |
259 | } |
260 | 1; |
a95b6808 |
261 | --FILE-- |
8d93267c |
262 | use warnings 'syntax' ; |
a95b6808 |
263 | require "abc14" ; |
264 | eval { |
265 | use warnings 'io' ; |
266 | abc14::check() ; |
c3186b65 |
267 | }; |
a95b6808 |
268 | abc14::check() ; |
8d93267c |
269 | print $@ ; |
270 | EXPECT |
271 | ok1 |
272 | ok2 |
273 | ok3 |
274 | ok1 |
275 | ok2 |
276 | ######## |
277 | |
a95b6808 |
278 | --FILE-- abc15.pm |
279 | package abc15 ; |
8d93267c |
280 | use warnings 'io' ; |
281 | sub check { |
d3a7d8c7 |
282 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
283 | print "ok2\n" if warnings::enabled("syntax") ; |
284 | print "ok3\n" if ! warnings::enabled("io") ; |
285 | } |
286 | 1; |
a95b6808 |
287 | --FILE-- |
8d93267c |
288 | use warnings 'syntax' ; |
a95b6808 |
289 | use abc15 ; |
290 | sub fred { abc15::check() } |
8d93267c |
291 | fred() ; |
292 | EXPECT |
293 | ok1 |
294 | ok2 |
295 | ok3 |
296 | ######## |
297 | |
a95b6808 |
298 | --FILE-- abc16.pm |
299 | package abc16 ; |
8d93267c |
300 | use warnings 'io' ; |
301 | sub check { |
d3a7d8c7 |
302 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
303 | } |
304 | 1; |
a95b6808 |
305 | --FILE-- |
8d93267c |
306 | use warnings 'syntax' ; |
a95b6808 |
307 | use abc16 ; |
308 | sub fred { no warnings ; abc16::check() } |
8d93267c |
309 | fred() ; |
310 | EXPECT |
311 | ok1 |
312 | ######## |
313 | |
a95b6808 |
314 | --FILE-- abc17.pm |
315 | package abc17 ; |
8d93267c |
316 | use warnings 'misc' ; |
317 | sub check { |
d3a7d8c7 |
318 | print "ok1\n" if ! warnings::enabled('all') ; |
8d93267c |
319 | print "ok2\n" if warnings::enabled("syntax") ; |
320 | print "ok3\n" if warnings::enabled("io") ; |
321 | print "ok4\n" if ! warnings::enabled("misc") ; |
322 | } |
323 | 1; |
a95b6808 |
324 | --FILE-- |
8d93267c |
325 | use warnings 'syntax' ; |
a95b6808 |
326 | use abc17 ; |
327 | sub fred { use warnings 'io' ; abc17::check() } |
8d93267c |
328 | fred() ; |
329 | EXPECT |
330 | ok1 |
331 | ok2 |
332 | ok3 |
333 | ok4 |
334 | ######## |
335 | |
336 | # check warnings::warn |
337 | use warnings ; |
a95b6808 |
338 | eval { |
339 | warnings::warn() |
c3186b65 |
340 | } ; |
8d93267c |
341 | print $@ ; |
a95b6808 |
342 | eval { |
343 | warnings::warn("fred", "joe") |
c3186b65 |
344 | } ; |
8d93267c |
345 | print $@ ; |
346 | EXPECT |
c3186b65 |
347 | Usage: warnings::warn([category,] 'message') at - line 5 |
348 | Unknown warnings category 'fred' at - line 9 |
7e6d00f8 |
349 | ######## |
350 | |
351 | # check warnings::warnif |
352 | use warnings ; |
a95b6808 |
353 | eval { |
354 | warnings::warnif() |
c3186b65 |
355 | } ; |
7e6d00f8 |
356 | print $@ ; |
a95b6808 |
357 | eval { |
358 | warnings::warnif("fred", "joe") |
c3186b65 |
359 | } ; |
7e6d00f8 |
360 | print $@ ; |
361 | EXPECT |
c3186b65 |
362 | Usage: warnings::warnif([category,] 'message') at - line 5 |
363 | Unknown warnings category 'fred' at - line 9 |
8d93267c |
364 | ######## |
365 | |
a95b6808 |
366 | --FILE-- abc18.pm |
367 | package abc18 ; |
8d93267c |
368 | use warnings 'misc' ; |
369 | sub check { warnings::warn("io", "hello") } |
370 | 1; |
371 | --FILE-- |
372 | use warnings "io" ; |
a95b6808 |
373 | use abc18; |
374 | abc18::check() ; |
8d93267c |
375 | EXPECT |
376 | hello at - line 3 |
377 | ######## |
378 | |
a95b6808 |
379 | --FILE-- abc19.pm |
380 | package abc19 ; |
8d93267c |
381 | use warnings 'misc' ; |
382 | sub check { warnings::warn("misc", "hello") } |
383 | 1; |
384 | --FILE-- |
385 | use warnings "io" ; |
a95b6808 |
386 | use abc19; |
387 | abc19::check() ; |
8d93267c |
388 | EXPECT |
389 | hello at - line 3 |
390 | ######## |
391 | |
a95b6808 |
392 | --FILE-- abc20.pm |
393 | package abc20 ; |
8d93267c |
394 | use warnings 'misc' ; |
395 | sub check { warnings::warn("io", "hello") } |
396 | 1; |
397 | --FILE-- |
398 | use warnings qw( FATAL deprecated ) ; |
a95b6808 |
399 | use abc20; |
400 | eval { |
401 | abc20::check() ; |
c3186b65 |
402 | } ; |
8d93267c |
403 | print "[[$@]]\n"; |
404 | EXPECT |
c3186b65 |
405 | hello at - line 4 |
8d93267c |
406 | [[]] |
407 | ######## |
408 | |
a95b6808 |
409 | --FILE-- abc21.pm |
410 | package abc21 ; |
8d93267c |
411 | use warnings 'misc' ; |
412 | sub check { warnings::warn("io", "hello") } |
413 | 1; |
414 | --FILE-- |
415 | use warnings qw( FATAL io ) ; |
a95b6808 |
416 | use abc21; |
417 | eval { |
418 | abc21::check() ; |
c3186b65 |
419 | } ; |
8d93267c |
420 | print "[[$@]]\n"; |
421 | EXPECT |
c3186b65 |
422 | [[hello at - line 4 |
8d93267c |
423 | ]] |
d3a7d8c7 |
424 | ######## |
425 | -W |
a95b6808 |
426 | --FILE-- abc22.pm |
427 | package abc22 ; |
d3a7d8c7 |
428 | use warnings "io" ; |
429 | print "ok1\n" if warnings::enabled("io") ; |
430 | print "ok2\n" if warnings::enabled("all") ; |
431 | 1; |
a95b6808 |
432 | --FILE-- |
d3a7d8c7 |
433 | no warnings; |
a95b6808 |
434 | use abc22 ; |
d3a7d8c7 |
435 | EXPECT |
436 | ok1 |
437 | ok2 |
438 | ######## |
439 | -X |
a95b6808 |
440 | --FILE-- abc23.pm |
441 | package abc23 ; |
d3a7d8c7 |
442 | use warnings "io" ; |
443 | print "ok1\n" if !warnings::enabled("io") ; |
444 | print "ok2\n" if !warnings::enabled("all") ; |
445 | 1; |
a95b6808 |
446 | --FILE-- |
d3a7d8c7 |
447 | use warnings; |
a95b6808 |
448 | use abc23 ; |
d3a7d8c7 |
449 | EXPECT |
450 | ok1 |
451 | ok2 |
452 | ######## |
453 | |
a95b6808 |
454 | --FILE-- abc24.pm |
455 | package abc24 ; |
d3a7d8c7 |
456 | no warnings ; |
457 | sub check { |
458 | print "ok\n" if ! warnings::enabled() ; |
459 | } |
460 | 1; |
a95b6808 |
461 | --FILE-- |
d3a7d8c7 |
462 | use warnings 'syntax' ; |
a95b6808 |
463 | use abc24 ; |
464 | abc24::check() ; |
d3a7d8c7 |
465 | EXPECT |
a95b6808 |
466 | package 'abc24' not registered for warnings at abc24.pm line 4 |
7e6d00f8 |
467 | ######## |
468 | |
a95b6808 |
469 | --FILE-- abc25.pm |
470 | package abc25 ; |
7e6d00f8 |
471 | no warnings ; |
472 | sub check { |
473 | warnings::warn("fred") ; |
474 | } |
475 | 1; |
a95b6808 |
476 | --FILE-- |
7e6d00f8 |
477 | use warnings 'syntax' ; |
a95b6808 |
478 | use abc25 ; |
479 | abc25::check() ; |
7e6d00f8 |
480 | EXPECT |
a95b6808 |
481 | package 'abc25' not registered for warnings at abc25.pm line 4 |
7e6d00f8 |
482 | ######## |
483 | |
a95b6808 |
484 | --FILE-- abc26.pm |
485 | package abc26 ; |
7e6d00f8 |
486 | no warnings ; |
487 | sub check { |
488 | warnings::warnif("fred") ; |
489 | } |
490 | 1; |
a95b6808 |
491 | --FILE-- |
7e6d00f8 |
492 | use warnings 'syntax' ; |
a95b6808 |
493 | use abc26 ; |
494 | abc26::check() ; |
7e6d00f8 |
495 | EXPECT |
a95b6808 |
496 | package 'abc26' not registered for warnings at abc26.pm line 4 |
d3a7d8c7 |
497 | ######## |
498 | |
a95b6808 |
499 | --FILE-- abc27.pm |
500 | package abc27 ; |
d3a7d8c7 |
501 | use warnings 'io' ; |
502 | use warnings::register ; |
503 | sub check { |
504 | print "ok1\n" if warnings::enabled ; |
505 | print "ok2\n" if warnings::enabled("syntax") ; |
506 | print "ok3\n" if !warnings::enabled("io") ; |
507 | } |
508 | 1; |
a95b6808 |
509 | --FILE-- |
d3a7d8c7 |
510 | use warnings 'syntax' ; |
a95b6808 |
511 | use abc27 ; |
512 | use warnings 'abc27' ; |
513 | abc27::check() ; |
d3a7d8c7 |
514 | EXPECT |
515 | ok1 |
516 | ok2 |
517 | ok3 |
518 | ######## |
519 | |
a95b6808 |
520 | --FILE-- abc28.pm |
521 | package abc28 ; |
d3a7d8c7 |
522 | use warnings 'io' ; |
523 | use warnings::register ; |
524 | sub check { |
525 | print "ok1\n" if !warnings::enabled ; |
526 | print "ok2\n" if warnings::enabled("syntax") ; |
527 | print "ok3\n" if !warnings::enabled("io") ; |
528 | } |
529 | 1; |
a95b6808 |
530 | --FILE-- |
d3a7d8c7 |
531 | use warnings 'syntax' ; |
a95b6808 |
532 | use abc28 ; |
533 | abc28::check() ; |
d3a7d8c7 |
534 | EXPECT |
535 | ok1 |
536 | ok2 |
537 | ok3 |
538 | ######## |
539 | |
a95b6808 |
540 | --FILE-- abc29.pm |
541 | package abc29 ; |
d3a7d8c7 |
542 | no warnings ; |
543 | use warnings::register ; |
544 | sub check { |
545 | print "ok1\n" if warnings::enabled ; |
546 | print "ok2\n" if warnings::enabled("syntax") ; |
547 | } |
548 | 1; |
a95b6808 |
549 | --FILE-- |
d3a7d8c7 |
550 | use warnings 'syntax' ; |
a95b6808 |
551 | use abc29 ; |
552 | use warnings 'abc29' ; |
553 | eval { abc29::check() ; }; |
d3a7d8c7 |
554 | print $@ ; |
555 | EXPECT |
556 | ok1 |
557 | ok2 |
558 | ######## |
559 | |
a95b6808 |
560 | --FILE-- abc30.pm |
561 | package abc30 ; |
d3a7d8c7 |
562 | use warnings 'io' ; |
563 | use warnings::register ; |
564 | sub check { |
565 | print "ok1\n" if !warnings::enabled ; |
566 | print "ok2\n" if warnings::enabled("syntax") ; |
567 | print "ok3\n" if !warnings::enabled("io") ; |
568 | } |
569 | 1; |
a95b6808 |
570 | --FILE-- |
d3a7d8c7 |
571 | use warnings 'syntax' ; |
a95b6808 |
572 | use abc30 ; |
573 | eval { abc30::check() ; } ; |
d3a7d8c7 |
574 | print $@ ; |
575 | EXPECT |
576 | ok1 |
577 | ok2 |
578 | ok3 |
579 | ######## |
580 | |
a95b6808 |
581 | --FILE-- abc31.pm |
582 | package abc31 ; |
d3a7d8c7 |
583 | use warnings 'io' ; |
584 | use warnings::register ; |
585 | sub check { |
586 | print "ok1\n" if warnings::enabled ; |
587 | print "ok2\n" if warnings::enabled("syntax") ; |
588 | print "ok3\n" if !warnings::enabled("io") ; |
589 | } |
590 | 1; |
a95b6808 |
591 | --FILE-- |
d3a7d8c7 |
592 | use warnings 'syntax' ; |
a95b6808 |
593 | use abc31 ; |
594 | use warnings 'abc31' ; |
595 | sub fred { abc31::check() } |
d3a7d8c7 |
596 | fred() ; |
597 | EXPECT |
598 | ok1 |
599 | ok2 |
600 | ok3 |
601 | ######## |
602 | |
a95b6808 |
603 | --FILE-- abc32.pm |
604 | package abc32 ; |
d3a7d8c7 |
605 | use warnings 'io' ; |
606 | use warnings::register ; |
607 | sub check { |
608 | print "ok1\n" if ! warnings::enabled ; |
609 | } |
610 | 1; |
a95b6808 |
611 | --FILE-- |
d3a7d8c7 |
612 | use warnings 'syntax' ; |
a95b6808 |
613 | use abc32 ; |
614 | sub fred { no warnings ; abc32::check() } |
d3a7d8c7 |
615 | fred() ; |
616 | EXPECT |
617 | ok1 |
618 | ######## |
619 | |
a95b6808 |
620 | --FILE-- abc33.pm |
621 | package abc33 ; |
d3a7d8c7 |
622 | use warnings 'misc' ; |
623 | use warnings::register; |
624 | sub check { |
625 | print "ok1\n" if warnings::enabled ; |
626 | print "ok2\n" if warnings::enabled("syntax") ; |
627 | print "ok3\n" if warnings::enabled("io") ; |
628 | print "ok4\n" if ! warnings::enabled("misc") ; |
629 | } |
630 | 1; |
a95b6808 |
631 | --FILE-- |
d3a7d8c7 |
632 | use warnings 'syntax' ; |
a95b6808 |
633 | use abc33 ; |
634 | use warnings 'abc33' ; |
635 | sub fred { use warnings 'io' ; abc33::check() } |
d3a7d8c7 |
636 | fred() ; |
637 | EXPECT |
638 | ok1 |
639 | ok2 |
640 | ok3 |
641 | ok4 |
642 | ######## |
643 | |
a95b6808 |
644 | --FILE-- abc34.pm |
645 | package abc34 ; |
d3a7d8c7 |
646 | use warnings 'misc' ; |
647 | use warnings::register; |
648 | sub check { warnings::warn("hello") } |
649 | 1; |
650 | --FILE-- |
a95b6808 |
651 | use abc34; |
652 | use warnings "abc34" ; |
653 | abc34::check() ; |
d3a7d8c7 |
654 | EXPECT |
655 | hello at - line 3 |
656 | ######## |
657 | |
a95b6808 |
658 | --FILE-- abc35.pm |
659 | package abc35 ; |
d3a7d8c7 |
660 | use warnings::register; |
661 | sub check { warnings::warn("hello") } |
662 | 1; |
663 | --FILE-- |
a95b6808 |
664 | use abc35; |
665 | abc35::check() ; |
d3a7d8c7 |
666 | EXPECT |
667 | hello at - line 2 |
668 | ######## |
669 | |
a95b6808 |
670 | --FILE-- abc36.pm |
671 | package abc36 ; |
d3a7d8c7 |
672 | use warnings::register ; |
673 | sub check { warnings::warn("hello") } |
674 | 1; |
675 | --FILE-- |
a95b6808 |
676 | use abc36; |
d3a7d8c7 |
677 | use warnings qw( FATAL deprecated ) ; |
c3186b65 |
678 | eval { |
a95b6808 |
679 | abc36::check() ; |
c3186b65 |
680 | } ; |
d3a7d8c7 |
681 | print "[[$@]]\n"; |
682 | EXPECT |
c3186b65 |
683 | hello at - line 4 |
d3a7d8c7 |
684 | [[]] |
685 | ######## |
686 | |
a95b6808 |
687 | --FILE-- abc37.pm |
688 | package abc37 ; |
d3a7d8c7 |
689 | use warnings::register ; |
690 | sub check { warnings::warn("hello") } |
691 | 1; |
692 | --FILE-- |
a95b6808 |
693 | use abc37; |
694 | use warnings qw( FATAL abc37 ) ; |
695 | eval { |
696 | abc37::check() ; |
c3186b65 |
697 | } ; |
d3a7d8c7 |
698 | print "[[$@]]\n"; |
699 | EXPECT |
c3186b65 |
700 | [[hello at - line 4 |
d3a7d8c7 |
701 | ]] |
702 | ######## |
703 | -W |
a95b6808 |
704 | --FILE-- abc38.pm |
705 | package abc38 ; |
d3a7d8c7 |
706 | use warnings "io" ; |
707 | use warnings::register ; |
a95b6808 |
708 | sub check { |
d3a7d8c7 |
709 | print "ok1\n" if warnings::enabled() ; |
710 | print "ok2\n" if warnings::enabled("io") ; |
711 | print "ok3\n" if warnings::enabled("all") ; |
712 | } |
713 | 1; |
a95b6808 |
714 | --FILE-- |
d3a7d8c7 |
715 | no warnings; |
a95b6808 |
716 | use abc38 ; |
717 | abc38::check() ; |
d3a7d8c7 |
718 | EXPECT |
719 | ok1 |
720 | ok2 |
721 | ok3 |
722 | ######## |
723 | -X |
a95b6808 |
724 | --FILE-- abc39.pm |
725 | package abc39 ; |
d3a7d8c7 |
726 | use warnings "io" ; |
727 | use warnings::register ; |
a95b6808 |
728 | sub check { |
d3a7d8c7 |
729 | print "ok1\n" if !warnings::enabled() ; |
730 | print "ok2\n" if !warnings::enabled("io") ; |
731 | print "ok3\n" if !warnings::enabled("all") ; |
732 | } |
733 | 1; |
a95b6808 |
734 | --FILE-- |
d3a7d8c7 |
735 | no warnings; |
a95b6808 |
736 | use abc39 ; |
737 | abc39::check() ; |
d3a7d8c7 |
738 | EXPECT |
739 | ok1 |
740 | ok2 |
741 | ok3 |
742 | ######## |
743 | |
a95b6808 |
744 | --FILE-- abc40.pm |
745 | package abc40 ; |
d3a7d8c7 |
746 | use warnings "io" ; |
747 | use warnings::register ; |
a95b6808 |
748 | sub check { |
d3a7d8c7 |
749 | print "ok1\n" if warnings::enabled() ; |
750 | print "ok2\n" if warnings::enabled("io") ; |
751 | print "ok3\n" if warnings::enabled("all") ; |
752 | } |
753 | 1; |
a95b6808 |
754 | --FILE-- |
d3a7d8c7 |
755 | use warnings 'all'; |
a95b6808 |
756 | use abc40 ; |
757 | abc40::check() ; |
d3a7d8c7 |
758 | EXPECT |
759 | ok1 |
760 | ok2 |
761 | ok3 |
762 | ######## |
763 | |
a95b6808 |
764 | --FILE-- abc41.pm |
765 | package abc41 ; |
d3a7d8c7 |
766 | use warnings "io" ; |
767 | use warnings::register ; |
a95b6808 |
768 | sub check { |
d3a7d8c7 |
769 | print "ok1\n" if !warnings::enabled() ; |
770 | print "ok2\n" if !warnings::enabled("io") ; |
771 | print "ok3\n" if !warnings::enabled("all") ; |
772 | } |
773 | 1; |
a95b6808 |
774 | --FILE-- |
775 | use abc41 ; |
d3a7d8c7 |
776 | no warnings ; |
a95b6808 |
777 | abc41::check() ; |
d3a7d8c7 |
778 | EXPECT |
779 | ok1 |
780 | ok2 |
781 | ok3 |
782 | ######## |
783 | |
a95b6808 |
784 | --FILE-- abc42.pm |
785 | package abc42 ; |
d3a7d8c7 |
786 | use warnings "io" ; |
787 | use warnings::register ; |
a95b6808 |
788 | sub check { |
d3a7d8c7 |
789 | print "ok1\n" if !warnings::enabled() ; |
790 | print "ok2\n" if !warnings::enabled("io") ; |
791 | print "ok3\n" if !warnings::enabled("all") ; |
7e6d00f8 |
792 | warnings::warnif("my message 1") ; |
a95b6808 |
793 | warnings::warnif('abc42', "my message 2") ; |
7e6d00f8 |
794 | warnings::warnif('io', "my message 3") ; |
795 | warnings::warnif('all', "my message 4") ; |
d3a7d8c7 |
796 | } |
797 | 1; |
a95b6808 |
798 | --FILE-- |
799 | use abc42 ; |
800 | use warnings 'abc42'; |
d3a7d8c7 |
801 | no warnings ; |
a95b6808 |
802 | abc42::check() ; |
d3a7d8c7 |
803 | EXPECT |
804 | ok1 |
805 | ok2 |
806 | ok3 |
807 | ######## |
808 | |
a95b6808 |
809 | --FILE-- abc43.pm |
810 | package abc43 ; |
d3a7d8c7 |
811 | use warnings "io" ; |
812 | use warnings::register ; |
a95b6808 |
813 | sub check { |
814 | print "abc43 self" . (warnings::enabled() ? "" : " not") . " enabled\n" ; |
815 | print "abc43 def" . (warnings::enabled('def') ? "" : " not") . " enabled\n" ; |
816 | print "abc43 all" . (warnings::enabled('all') ? "" : " not") . " enabled\n" ; |
d3a7d8c7 |
817 | } |
818 | 1; |
819 | --FILE-- def.pm |
820 | package def ; |
821 | use warnings "io" ; |
822 | use warnings::register ; |
a95b6808 |
823 | sub check { |
d3a7d8c7 |
824 | print "def self" . (warnings::enabled() ? "" : " not") . " enabled\n" ; |
a95b6808 |
825 | print "def abc43" . (warnings::enabled('abc43') ? "" : " not") . " enabled\n" ; |
d3a7d8c7 |
826 | print "def all" . (warnings::enabled('all') ? "" : " not") . " enabled\n" ; |
827 | } |
828 | 1; |
a95b6808 |
829 | --FILE-- |
830 | use abc43 ; |
d3a7d8c7 |
831 | use def ; |
a95b6808 |
832 | use warnings 'abc43'; |
833 | abc43::check() ; |
d3a7d8c7 |
834 | def::check() ; |
a95b6808 |
835 | no warnings 'abc43' ; |
d3a7d8c7 |
836 | use warnings 'def' ; |
a95b6808 |
837 | abc43::check() ; |
d3a7d8c7 |
838 | def::check() ; |
a95b6808 |
839 | use warnings 'abc43' ; |
d3a7d8c7 |
840 | use warnings 'def' ; |
a95b6808 |
841 | abc43::check() ; |
d3a7d8c7 |
842 | def::check() ; |
a95b6808 |
843 | no warnings 'abc43' ; |
d3a7d8c7 |
844 | no warnings 'def' ; |
a95b6808 |
845 | abc43::check() ; |
d3a7d8c7 |
846 | def::check() ; |
847 | use warnings; |
a95b6808 |
848 | abc43::check() ; |
d3a7d8c7 |
849 | def::check() ; |
a95b6808 |
850 | no warnings 'abc43' ; |
851 | abc43::check() ; |
d3a7d8c7 |
852 | def::check() ; |
853 | EXPECT |
a95b6808 |
854 | abc43 self enabled |
855 | abc43 def not enabled |
856 | abc43 all not enabled |
d3a7d8c7 |
857 | def self not enabled |
a95b6808 |
858 | def abc43 enabled |
d3a7d8c7 |
859 | def all not enabled |
a95b6808 |
860 | abc43 self not enabled |
861 | abc43 def enabled |
862 | abc43 all not enabled |
d3a7d8c7 |
863 | def self enabled |
a95b6808 |
864 | def abc43 not enabled |
d3a7d8c7 |
865 | def all not enabled |
a95b6808 |
866 | abc43 self enabled |
867 | abc43 def enabled |
868 | abc43 all not enabled |
d3a7d8c7 |
869 | def self enabled |
a95b6808 |
870 | def abc43 enabled |
d3a7d8c7 |
871 | def all not enabled |
a95b6808 |
872 | abc43 self not enabled |
873 | abc43 def not enabled |
874 | abc43 all not enabled |
d3a7d8c7 |
875 | def self not enabled |
a95b6808 |
876 | def abc43 not enabled |
d3a7d8c7 |
877 | def all not enabled |
a95b6808 |
878 | abc43 self enabled |
879 | abc43 def enabled |
880 | abc43 all enabled |
d3a7d8c7 |
881 | def self enabled |
a95b6808 |
882 | def abc43 enabled |
d3a7d8c7 |
883 | def all enabled |
a95b6808 |
884 | abc43 self not enabled |
885 | abc43 def enabled |
886 | abc43 all not enabled |
d3a7d8c7 |
887 | def self enabled |
a95b6808 |
888 | def abc43 not enabled |
d3a7d8c7 |
889 | def all not enabled |
114bafba |
890 | ######## |
891 | -w |
a95b6808 |
892 | --FILE-- abc44.pm |
893 | package abc44 ; |
114bafba |
894 | no warnings ; |
895 | use warnings::register ; |
a95b6808 |
896 | sub check { |
114bafba |
897 | print "ok1\n" if warnings::enabled() ; |
898 | print "ok2\n" if warnings::enabled("io") ; |
899 | print "ok3\n" if warnings::enabled("all") ; |
900 | } |
901 | 1; |
a95b6808 |
902 | --FILE-- |
903 | use abc44 ; |
904 | abc44::check() ; |
114bafba |
905 | EXPECT |
906 | ok1 |
907 | ok2 |
908 | ok3 |
909 | ######## |
910 | -w |
a95b6808 |
911 | --FILE-- abc45.pm |
912 | package abc45 ; |
114bafba |
913 | no warnings ; |
914 | use warnings::register ; |
a95b6808 |
915 | sub check { |
114bafba |
916 | print "ok1\n" if !warnings::enabled() ; |
917 | print "ok2\n" if !warnings::enabled("io") ; |
918 | print "ok3\n" if !warnings::enabled("all") ; |
919 | } |
920 | 1; |
a95b6808 |
921 | --FILE-- |
922 | use abc45 ; |
923 | use warnings 'abc45'; |
114bafba |
924 | no warnings ; |
a95b6808 |
925 | abc45::check() ; |
114bafba |
926 | EXPECT |
927 | ok1 |
928 | ok2 |
929 | ok3 |
930 | ######## |
931 | |
a95b6808 |
932 | --FILE-- abc46.pm |
933 | package abc46 ; |
114bafba |
934 | no warnings ; |
935 | use warnings::register ; |
a95b6808 |
936 | sub check { |
114bafba |
937 | print "ok1\n" if !warnings::enabled() ; |
938 | print "ok2\n" if !warnings::enabled("io") ; |
939 | print "ok3\n" if !warnings::enabled("all") ; |
7e6d00f8 |
940 | warnings::warnif("my message 1") ; |
a95b6808 |
941 | warnings::warnif('abc46', "my message 2") ; |
7e6d00f8 |
942 | warnings::warnif('io', "my message 3") ; |
943 | warnings::warnif('all', "my message 4") ; |
114bafba |
944 | } |
945 | 1; |
a95b6808 |
946 | --FILE-- |
947 | use abc46 ; |
948 | use warnings 'abc46'; |
114bafba |
949 | no warnings ; |
950 | BEGIN { $^W = 1 ; } |
a95b6808 |
951 | abc46::check() ; |
114bafba |
952 | EXPECT |
953 | ok1 |
954 | ok2 |
955 | ok3 |
956 | ######## |
957 | |
a95b6808 |
958 | --FILE-- abc47.pm |
959 | package abc47 ; |
114bafba |
960 | no warnings ; |
961 | use warnings::register ; |
a95b6808 |
962 | sub check { |
114bafba |
963 | print "ok1\n" if !warnings::enabled() ; |
964 | print "ok2\n" if !warnings::enabled("io") ; |
965 | print "ok3\n" if !warnings::enabled("all") ; |
966 | } |
967 | 1; |
a95b6808 |
968 | --FILE-- |
969 | use abc47 ; |
970 | use warnings 'abc47'; |
114bafba |
971 | no warnings ; |
972 | $^W = 1 ; |
a95b6808 |
973 | abc47::check() ; |
114bafba |
974 | EXPECT |
975 | ok1 |
976 | ok2 |
977 | ok3 |
7e6d00f8 |
978 | ######## |
979 | |
a95b6808 |
980 | --FILE-- abc48.pm |
a781f7c3 |
981 | $| = 1; |
a95b6808 |
982 | package abc48 ; |
7e6d00f8 |
983 | no warnings ; |
984 | use warnings::register ; |
a95b6808 |
985 | sub check { |
7e6d00f8 |
986 | print "ok1\n" if warnings::enabled() ; |
987 | print "ok2\n" if !warnings::enabled("io") ; |
988 | print "ok3\n" if !warnings::enabled("all") ; |
a95b6808 |
989 | print "ok4\n" if warnings::enabled("abc48") ; |
7e6d00f8 |
990 | warnings::warn("my message 1") ; |
991 | warnings::warnif("my message 2") ; |
a95b6808 |
992 | warnings::warnif('abc48', "my message 3") ; |
7e6d00f8 |
993 | warnings::warnif('io', "my message 4") ; |
994 | warnings::warnif('all', "my message 5") ; |
995 | } |
996 | sub in2 { no warnings ; check() } |
997 | sub in1 { no warnings ; in2() } |
998 | 1; |
a95b6808 |
999 | --FILE-- |
1000 | use abc48 ; |
1001 | use warnings 'abc48'; |
1002 | abc48::in1() ; |
7e6d00f8 |
1003 | EXPECT |
7e6d00f8 |
1004 | ok1 |
1005 | ok2 |
1006 | ok3 |
1007 | ok4 |
a781f7c3 |
1008 | my message 1 at - line 3 |
1009 | my message 2 at - line 3 |
1010 | my message 3 at - line 3 |
7e6d00f8 |
1011 | ######## |
1012 | |
1013 | --FILE-- def.pm |
1014 | package def ; |
1015 | no warnings ; |
1016 | use warnings::register ; |
a95b6808 |
1017 | sub check { |
7e6d00f8 |
1018 | print "ok1\n" if warnings::enabled() ; |
1019 | print "ok2\n" if !warnings::enabled("io") ; |
1020 | print "ok3\n" if !warnings::enabled("all") ; |
1021 | print "ok4\n" if warnings::enabled("def") ; |
1022 | warnings::warn("my message 1") ; |
1023 | warnings::warnif("my message 2") ; |
1024 | warnings::warnif('def', "my message 3") ; |
1025 | warnings::warnif('io', "my message 4") ; |
1026 | warnings::warnif('all', "my message 5") ; |
1027 | } |
1028 | sub in2 { no warnings ; check() } |
1029 | sub in1 { no warnings ; in2() } |
1030 | 1; |
a95b6808 |
1031 | --FILE-- abc49.pm |
a781f7c3 |
1032 | $| = 1; |
a95b6808 |
1033 | package abc49 ; |
7e6d00f8 |
1034 | use def ; |
1035 | use warnings 'def'; |
1036 | sub in1 { def::in1() ; } |
1037 | 1; |
a95b6808 |
1038 | --FILE-- |
1039 | use abc49 ; |
7e6d00f8 |
1040 | no warnings; |
a95b6808 |
1041 | abc49::in1() ; |
7e6d00f8 |
1042 | EXPECT |
7e6d00f8 |
1043 | ok1 |
1044 | ok2 |
1045 | ok3 |
1046 | ok4 |
a95b6808 |
1047 | my message 1 at abc49.pm line 5 |
1048 | my message 2 at abc49.pm line 5 |
1049 | my message 3 at abc49.pm line 5 |
7e6d00f8 |
1050 | ######## |
1051 | |
1052 | --FILE-- def.pm |
a781f7c3 |
1053 | $| = 1; |
7e6d00f8 |
1054 | package def ; |
1055 | no warnings ; |
1056 | use warnings::register ; |
1057 | require Exporter; |
1058 | @ISA = qw( Exporter ) ; |
1059 | @EXPORT = qw( in1 ) ; |
a95b6808 |
1060 | sub check { |
7e6d00f8 |
1061 | print "ok1\n" if warnings::enabled() ; |
1062 | print "ok2\n" if !warnings::enabled("io") ; |
1063 | print "ok3\n" if !warnings::enabled("all") ; |
a95b6808 |
1064 | print "ok4\n" if warnings::enabled("abc50") ; |
7e6d00f8 |
1065 | print "ok5\n" if !warnings::enabled("def") ; |
1066 | warnings::warn("my message 1") ; |
1067 | warnings::warnif("my message 2") ; |
a95b6808 |
1068 | warnings::warnif('abc50', "my message 3") ; |
7e6d00f8 |
1069 | warnings::warnif('def', "my message 4") ; |
1070 | warnings::warnif('io', "my message 5") ; |
1071 | warnings::warnif('all', "my message 6") ; |
1072 | } |
1073 | sub in2 { no warnings ; check() } |
1074 | sub in1 { no warnings ; in2() } |
1075 | 1; |
a95b6808 |
1076 | --FILE-- abc50.pm |
1077 | package abc50 ; |
7e6d00f8 |
1078 | use warnings::register ; |
1079 | use def ; |
1080 | #@ISA = qw(def) ; |
1081 | 1; |
a95b6808 |
1082 | --FILE-- |
1083 | use abc50 ; |
7e6d00f8 |
1084 | no warnings; |
a95b6808 |
1085 | use warnings 'abc50'; |
1086 | abc50::in1() ; |
7e6d00f8 |
1087 | EXPECT |
7e6d00f8 |
1088 | ok2 |
1089 | ok3 |
1090 | ok4 |
1091 | ok5 |
a781f7c3 |
1092 | my message 1 at - line 4 |
1093 | my message 3 at - line 4 |
7e6d00f8 |
1094 | ######## |
1095 | |
1096 | --FILE-- def.pm |
1097 | package def ; |
1098 | no warnings ; |
1099 | use warnings::register ; |
1100 | |
1101 | sub new |
1102 | { |
1103 | my $class = shift ; |
1104 | bless [], $class ; |
1105 | } |
1106 | |
a95b6808 |
1107 | sub check |
1108 | { |
7e6d00f8 |
1109 | my $self = shift ; |
1110 | print "ok1\n" if !warnings::enabled() ; |
1111 | print "ok2\n" if !warnings::enabled("io") ; |
1112 | print "ok3\n" if !warnings::enabled("all") ; |
a95b6808 |
1113 | print "ok4\n" if warnings::enabled("abc51") ; |
7e6d00f8 |
1114 | print "ok5\n" if !warnings::enabled("def") ; |
1115 | print "ok6\n" if warnings::enabled($self) ; |
1116 | |
1117 | warnings::warn("my message 1") ; |
1118 | warnings::warn($self, "my message 2") ; |
1119 | |
1120 | warnings::warnif("my message 3") ; |
a95b6808 |
1121 | warnings::warnif('abc51', "my message 4") ; |
7e6d00f8 |
1122 | warnings::warnif('def', "my message 5") ; |
1123 | warnings::warnif('io', "my message 6") ; |
1124 | warnings::warnif('all', "my message 7") ; |
1125 | warnings::warnif($self, "my message 8") ; |
1126 | } |
a95b6808 |
1127 | sub in2 |
7e6d00f8 |
1128 | { |
a95b6808 |
1129 | no warnings ; |
7e6d00f8 |
1130 | my $self = shift ; |
1131 | $self->check() ; |
1132 | } |
a95b6808 |
1133 | sub in1 |
1134 | { |
7e6d00f8 |
1135 | no warnings ; |
1136 | my $self = shift ; |
1137 | $self->in2(); |
1138 | } |
1139 | 1; |
a95b6808 |
1140 | --FILE-- abc51.pm |
a781f7c3 |
1141 | $| = 1; |
a95b6808 |
1142 | package abc51 ; |
7e6d00f8 |
1143 | use warnings::register ; |
1144 | use def ; |
1145 | @ISA = qw(def) ; |
1146 | sub new |
1147 | { |
1148 | my $class = shift ; |
1149 | bless [], $class ; |
1150 | } |
1151 | |
1152 | 1; |
a95b6808 |
1153 | --FILE-- |
1154 | use abc51 ; |
7e6d00f8 |
1155 | no warnings; |
a95b6808 |
1156 | use warnings 'abc51'; |
1157 | $a = new abc51 ; |
7e6d00f8 |
1158 | $a->in1() ; |
1159 | print "**\n"; |
1160 | $b = new def ; |
1161 | $b->in1() ; |
1162 | EXPECT |
7e6d00f8 |
1163 | ok1 |
1164 | ok2 |
1165 | ok3 |
1166 | ok4 |
1167 | ok5 |
1168 | ok6 |
a781f7c3 |
1169 | my message 1 at - line 5 |
1170 | my message 2 at - line 5 |
1171 | my message 4 at - line 5 |
1172 | my message 8 at - line 5 |
7e6d00f8 |
1173 | ** |
1174 | ok1 |
1175 | ok2 |
1176 | ok3 |
1177 | ok4 |
1178 | ok5 |
a781f7c3 |
1179 | my message 1 at - line 8 |
1180 | my message 2 at - line 8 |
1181 | my message 4 at - line 8 |
4f527b71 |
1182 | ######## |
1183 | |
1184 | --FILE-- |
1185 | # test for bug [perl #15395] |
1186 | my ( $warn_cat, # warning category we'll try to control |
1187 | $warn_msg, # the error message to catch |
1188 | ); |
1189 | |
1190 | package SomeModule; |
1191 | use warnings::register; |
1192 | |
1193 | BEGIN { |
1194 | $warn_cat = __PACKAGE__; |
1195 | $warn_msg = 'from ' . __PACKAGE__; |
1196 | } |
1197 | |
1198 | # a sub that generates a random warning |
1199 | sub gen_warning { |
1200 | warnings::warnif( $warn_msg ); |
1201 | } |
1202 | |
1203 | package ClientModule; |
1204 | # use SomeModule; (would go here) |
1205 | our @CARP_NOT = ( $warn_cat ); # deliver warnings to *our* client |
1206 | |
1207 | # call_warner provokes a warning. It is delivered to its caller, |
1208 | # who should also be able to control it |
1209 | sub call_warner { |
1210 | SomeModule::gen_warning(); |
1211 | } |
1212 | |
1213 | # user |
1214 | |
1215 | package main; |
1216 | my $warn_line = __LINE__ + 3; # this line should be in the error message |
1217 | eval { |
1218 | use warnings FATAL => $warn_cat; # we want to know if this works |
1219 | ClientModule::call_warner(); |
1220 | }; |
1221 | |
1222 | # have we caught an error, and is it the one we generated? |
1223 | print "ok1\n" if $@ =~ /$warn_msg/; |
1224 | |
1225 | # does it indicate the right line? |
a95b6808 |
1226 | print "ok2\n" if $@ =~ /line $warn_line/; |
4f527b71 |
1227 | EXPECT |
1228 | ok1 |
1229 | ok2 |