1 Check warnings::enabled & warnings::warn
8 print "ok1\n" if ! warnings::enabled('all') ;
9 print "ok2\n" if ! warnings::enabled("io") ;
22 print "ok1\n" if !warnings::enabled('all') ;
23 print "ok2\n" if warnings::enabled("syntax") ;
26 use warnings 'syntax' ;
35 use warnings 'syntax' ;
36 print "ok1\n" if warnings::enabled('io') ;
37 print "ok2\n" if ! warnings::enabled("syntax") ;
49 print "ok1\n" if !warnings::enabled('all') ;
50 print "ok2\n" if !warnings::enabled("syntax") ;
53 use warnings 'syntax' ;
61 use warnings 'syntax' ;
62 print "ok1\n" if ! warnings::enabled('all') ;
63 print "ok2\n" if ! warnings::enabled("syntax") ;
64 print "ok3\n" if ! warnings::enabled("io") ;
79 print "ok1\n" if !warnings::enabled('all') ;
80 print "ok2\n" if warnings::enabled("syntax") ;
84 use warnings 'syntax' ;
96 print "ok1\n" if ! warnings::enabled('all') ;
97 print "ok2\n" if warnings::enabled("syntax") ;
98 print "ok3\n" if ! warnings::enabled("io") ;
102 use warnings 'syntax' ;
115 print "ok1\n" if !warnings::enabled('all') ;
116 print "ok2\n" if warnings::enabled("syntax") ;
120 use warnings 'syntax' ;
132 print "ok1\n" if ! warnings::enabled('all') ;
133 print "ok2\n" if warnings::enabled("syntax") ;
134 print "ok3\n" if ! warnings::enabled("io") ;
138 use warnings 'syntax' ;
150 print "ok1\n" if ! warnings::enabled('all') ;
151 print "ok2\n" if ! warnings::enabled("io") ;
169 print "ok1\n" if ! warnings::enabled('all') ;
170 print "ok2\n" if warnings::enabled("syntax") ;
171 print "ok3\n" if !warnings::enabled("io") ;
174 use warnings 'syntax' ;
175 print "ok4\n" if !warnings::enabled('all') ;
176 print "ok5\n" if !warnings::enabled("io") ;
194 print "ok1\n" if !warnings::enabled('all') ;
195 print "ok2\n" if warnings::enabled("syntax") ;
199 use warnings 'syntax' ;
214 print "ok1\n" if ! warnings::enabled('all') ;
215 print "ok2\n" if warnings::enabled("syntax") ;
216 print "ok3\n" if ! warnings::enabled("io") ;
220 use warnings 'syntax' ;
236 print "ok1\n" if !warnings::enabled('all') ;
237 print "ok2\n" if warnings::enabled("syntax") ;
241 use warnings 'syntax' ;
256 print "ok1\n" if !warnings::enabled('all') ;
257 print "ok2\n" if warnings::enabled("syntax") ;
258 print "ok3\n" if warnings::enabled("io") ;
262 use warnings 'syntax' ;
282 print "ok1\n" if ! warnings::enabled('all') ;
283 print "ok2\n" if warnings::enabled("syntax") ;
284 print "ok3\n" if ! warnings::enabled("io") ;
288 use warnings 'syntax' ;
290 sub fred { abc::check() }
302 print "ok1\n" if ! warnings::enabled('all') ;
306 use warnings 'syntax' ;
308 sub fred { no warnings ; abc::check() }
316 use warnings 'misc' ;
318 print "ok1\n" if ! warnings::enabled('all') ;
319 print "ok2\n" if warnings::enabled("syntax") ;
320 print "ok3\n" if warnings::enabled("io") ;
321 print "ok4\n" if ! warnings::enabled("misc") ;
325 use warnings 'syntax' ;
327 sub fred { use warnings 'io' ; abc::check() }
336 # check warnings::warn
343 warnings::warn("fred", "joe")
347 Usage: warnings::warn([category,] 'message') at - line 5
348 Unknown warnings category 'fred' at - line 9
351 # check warnings::warnif
358 warnings::warnif("fred", "joe")
362 Usage: warnings::warnif([category,] 'message') at - line 5
363 Unknown warnings category 'fred' at - line 9
368 use warnings 'misc' ;
369 sub check { warnings::warn("io", "hello") }
381 use warnings 'misc' ;
382 sub check { warnings::warn("misc", "hello") }
394 use warnings 'misc' ;
395 sub check { warnings::warn("io", "hello") }
398 use warnings qw( FATAL deprecated ) ;
411 use warnings 'misc' ;
412 sub check { warnings::warn("io", "hello") }
415 use warnings qw( FATAL io ) ;
429 print "ok1\n" if warnings::enabled("io") ;
430 print "ok2\n" if warnings::enabled("all") ;
443 print "ok1\n" if !warnings::enabled("io") ;
444 print "ok2\n" if !warnings::enabled("all") ;
458 print "ok\n" if ! warnings::enabled() ;
462 use warnings 'syntax' ;
466 package 'abc' not registered for warnings at abc.pm line 4
473 warnings::warn("fred") ;
477 use warnings 'syntax' ;
481 package 'abc' not registered for warnings at abc.pm line 4
488 warnings::warnif("fred") ;
492 use warnings 'syntax' ;
496 package 'abc' not registered for warnings at abc.pm line 4
502 use warnings::register ;
504 print "ok1\n" if warnings::enabled ;
505 print "ok2\n" if warnings::enabled("syntax") ;
506 print "ok3\n" if !warnings::enabled("io") ;
510 use warnings 'syntax' ;
523 use warnings::register ;
525 print "ok1\n" if !warnings::enabled ;
526 print "ok2\n" if warnings::enabled("syntax") ;
527 print "ok3\n" if !warnings::enabled("io") ;
531 use warnings 'syntax' ;
543 use warnings::register ;
545 print "ok1\n" if warnings::enabled ;
546 print "ok2\n" if warnings::enabled("syntax") ;
550 use warnings 'syntax' ;
553 eval { abc::check() ; };
563 use warnings::register ;
565 print "ok1\n" if !warnings::enabled ;
566 print "ok2\n" if warnings::enabled("syntax") ;
567 print "ok3\n" if !warnings::enabled("io") ;
571 use warnings 'syntax' ;
573 eval { abc::check() ; } ;
584 use warnings::register ;
586 print "ok1\n" if warnings::enabled ;
587 print "ok2\n" if warnings::enabled("syntax") ;
588 print "ok3\n" if !warnings::enabled("io") ;
592 use warnings 'syntax' ;
595 sub fred { abc::check() }
606 use warnings::register ;
608 print "ok1\n" if ! warnings::enabled ;
612 use warnings 'syntax' ;
614 sub fred { no warnings ; abc::check() }
622 use warnings 'misc' ;
623 use warnings::register;
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") ;
632 use warnings 'syntax' ;
635 sub fred { use warnings 'io' ; abc::check() }
646 use warnings 'misc' ;
647 use warnings::register;
648 sub check { warnings::warn("hello") }
660 use warnings::register;
661 sub check { warnings::warn("hello") }
672 use warnings::register ;
673 sub check { warnings::warn("hello") }
677 use warnings qw( FATAL deprecated ) ;
689 use warnings::register ;
690 sub check { warnings::warn("hello") }
694 use warnings qw( FATAL abc ) ;
707 use warnings::register ;
709 print "ok1\n" if warnings::enabled() ;
710 print "ok2\n" if warnings::enabled("io") ;
711 print "ok3\n" if warnings::enabled("all") ;
727 use warnings::register ;
729 print "ok1\n" if !warnings::enabled() ;
730 print "ok2\n" if !warnings::enabled("io") ;
731 print "ok3\n" if !warnings::enabled("all") ;
747 use warnings::register ;
749 print "ok1\n" if warnings::enabled() ;
750 print "ok2\n" if warnings::enabled("io") ;
751 print "ok3\n" if warnings::enabled("all") ;
767 use warnings::register ;
769 print "ok1\n" if !warnings::enabled() ;
770 print "ok2\n" if !warnings::enabled("io") ;
771 print "ok3\n" if !warnings::enabled("all") ;
787 use warnings::register ;
789 print "ok1\n" if !warnings::enabled() ;
790 print "ok2\n" if !warnings::enabled("io") ;
791 print "ok3\n" if !warnings::enabled("all") ;
792 warnings::warnif("my message 1") ;
793 warnings::warnif('abc', "my message 2") ;
794 warnings::warnif('io', "my message 3") ;
795 warnings::warnif('all', "my message 4") ;
812 use warnings::register ;
814 print "abc self" . (warnings::enabled() ? "" : " not") . " enabled\n" ;
815 print "abc def" . (warnings::enabled('def') ? "" : " not") . " enabled\n" ;
816 print "abc all" . (warnings::enabled('all') ? "" : " not") . " enabled\n" ;
822 use warnings::register ;
824 print "def self" . (warnings::enabled() ? "" : " not") . " enabled\n" ;
825 print "def abc" . (warnings::enabled('abc') ? "" : " not") . " enabled\n" ;
826 print "def all" . (warnings::enabled('all') ? "" : " not") . " enabled\n" ;
895 use warnings::register ;
897 print "ok1\n" if warnings::enabled() ;
898 print "ok2\n" if warnings::enabled("io") ;
899 print "ok3\n" if warnings::enabled("all") ;
914 use warnings::register ;
916 print "ok1\n" if !warnings::enabled() ;
917 print "ok2\n" if !warnings::enabled("io") ;
918 print "ok3\n" if !warnings::enabled("all") ;
935 use warnings::register ;
937 print "ok1\n" if !warnings::enabled() ;
938 print "ok2\n" if !warnings::enabled("io") ;
939 print "ok3\n" if !warnings::enabled("all") ;
940 warnings::warnif("my message 1") ;
941 warnings::warnif('abc', "my message 2") ;
942 warnings::warnif('io', "my message 3") ;
943 warnings::warnif('all', "my message 4") ;
961 use warnings::register ;
963 print "ok1\n" if !warnings::enabled() ;
964 print "ok2\n" if !warnings::enabled("io") ;
965 print "ok3\n" if !warnings::enabled("all") ;
984 use warnings::register ;
986 print "ok1\n" if warnings::enabled() ;
987 print "ok2\n" if !warnings::enabled("io") ;
988 print "ok3\n" if !warnings::enabled("all") ;
989 print "ok4\n" if warnings::enabled("abc") ;
990 warnings::warn("my message 1") ;
991 warnings::warnif("my message 2") ;
992 warnings::warnif('abc', "my message 3") ;
993 warnings::warnif('io', "my message 4") ;
994 warnings::warnif('all', "my message 5") ;
996 sub in2 { no warnings ; check() }
997 sub in1 { no warnings ; in2() }
1008 my message 1 at - line 3
1009 my message 2 at - line 3
1010 my message 3 at - line 3
1016 use warnings::register ;
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") ;
1028 sub in2 { no warnings ; check() }
1029 sub in1 { no warnings ; in2() }
1036 sub in1 { def::in1() ; }
1047 my message 1 at abc.pm line 5
1048 my message 2 at abc.pm line 5
1049 my message 3 at abc.pm line 5
1056 use warnings::register ;
1058 @ISA = qw( Exporter ) ;
1059 @EXPORT = qw( in1 ) ;
1061 print "ok1\n" if warnings::enabled() ;
1062 print "ok2\n" if !warnings::enabled("io") ;
1063 print "ok3\n" if !warnings::enabled("all") ;
1064 print "ok4\n" if warnings::enabled("abc") ;
1065 print "ok5\n" if !warnings::enabled("def") ;
1066 warnings::warn("my message 1") ;
1067 warnings::warnif("my message 2") ;
1068 warnings::warnif('abc', "my message 3") ;
1069 warnings::warnif('def', "my message 4") ;
1070 warnings::warnif('io', "my message 5") ;
1071 warnings::warnif('all', "my message 6") ;
1073 sub in2 { no warnings ; check() }
1074 sub in1 { no warnings ; in2() }
1078 use warnings::register ;
1092 my message 1 at - line 4
1093 my message 3 at - line 4
1099 use warnings::register ;
1110 print "ok1\n" if !warnings::enabled() ;
1111 print "ok2\n" if !warnings::enabled("io") ;
1112 print "ok3\n" if !warnings::enabled("all") ;
1113 print "ok4\n" if warnings::enabled("abc") ;
1114 print "ok5\n" if !warnings::enabled("def") ;
1115 print "ok6\n" if warnings::enabled($self) ;
1117 warnings::warn("my message 1") ;
1118 warnings::warn($self, "my message 2") ;
1120 warnings::warnif("my message 3") ;
1121 warnings::warnif('abc', "my message 4") ;
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") ;
1143 use warnings::register ;
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
1179 my message 1 at - line 8
1180 my message 2 at - line 8
1181 my message 4 at - line 8
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
1191 use warnings::register;
1194 $warn_cat = __PACKAGE__;
1195 $warn_msg = 'from ' . __PACKAGE__;
1198 # a sub that generates a random warning
1200 warnings::warnif( $warn_msg );
1203 package ClientModule;
1204 # use SomeModule; (would go here)
1205 our @CARP_NOT = ( $warn_cat ); # deliver warnings to *our* client
1207 # call_warner provokes a warning. It is delivered to its caller,
1208 # who should also be able to control it
1210 SomeModule::gen_warning();
1216 my $warn_line = __LINE__ + 3; # this line should be in the error message
1218 use warnings FATAL => $warn_cat; # we want to know if this works
1219 ClientModule::call_warner();
1222 # have we caught an error, and is it the one we generated?
1223 print "ok1\n" if $@ =~ /$warn_msg/;
1225 # does it indicate the right line?
1226 print "ok2\n" if $@ =~ /line $warn_line/;