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 { abc15::check() }
302 print "ok1\n" if ! warnings::enabled('all') ;
306 use warnings 'syntax' ;
308 sub fred { no warnings ; abc16::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' ; abc17::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 'abc24' not registered for warnings at abc24.pm line 4
473 warnings::warn("fred") ;
477 use warnings 'syntax' ;
481 package 'abc25' not registered for warnings at abc25.pm line 4
488 warnings::warnif("fred") ;
492 use warnings 'syntax' ;
496 package 'abc26' not registered for warnings at abc26.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' ;
512 use warnings 'abc27' ;
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' ;
552 use warnings 'abc29' ;
553 eval { abc29::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 { abc30::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' ;
594 use warnings 'abc31' ;
595 sub fred { abc31::check() }
606 use warnings::register ;
608 print "ok1\n" if ! warnings::enabled ;
612 use warnings 'syntax' ;
614 sub fred { no warnings ; abc32::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' ;
634 use warnings 'abc33' ;
635 sub fred { use warnings 'io' ; abc33::check() }
646 use warnings 'misc' ;
647 use warnings::register;
648 sub check { warnings::warn("hello") }
652 use warnings "abc34" ;
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 abc37 ) ;
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('abc42', "my message 2") ;
794 warnings::warnif('io', "my message 3") ;
795 warnings::warnif('all', "my message 4") ;
800 use warnings 'abc42';
812 use warnings::register ;
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" ;
822 use warnings::register ;
824 print "def self" . (warnings::enabled() ? "" : " not") . " enabled\n" ;
825 print "def abc43" . (warnings::enabled('abc43') ? "" : " not") . " enabled\n" ;
826 print "def all" . (warnings::enabled('all') ? "" : " not") . " enabled\n" ;
832 use warnings 'abc43';
835 no warnings 'abc43' ;
839 use warnings 'abc43' ;
843 no warnings 'abc43' ;
850 no warnings 'abc43' ;
855 abc43 def not enabled
856 abc43 all not enabled
860 abc43 self not enabled
862 abc43 all not enabled
864 def abc43 not enabled
868 abc43 all not enabled
872 abc43 self not enabled
873 abc43 def not enabled
874 abc43 all not enabled
876 def abc43 not enabled
884 abc43 self not enabled
886 abc43 all not enabled
888 def abc43 not enabled
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") ;
923 use warnings 'abc45';
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('abc46', "my message 2") ;
942 warnings::warnif('io', "my message 3") ;
943 warnings::warnif('all', "my message 4") ;
948 use warnings 'abc46';
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") ;
970 use warnings 'abc47';
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("abc48") ;
990 warnings::warn("my message 1") ;
991 warnings::warnif("my message 2") ;
992 warnings::warnif('abc48', "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() }
1001 use warnings 'abc48';
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 abc49.pm line 5
1048 my message 2 at abc49.pm line 5
1049 my message 3 at abc49.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("abc50") ;
1065 print "ok5\n" if !warnings::enabled("def") ;
1066 warnings::warn("my message 1") ;
1067 warnings::warnif("my message 2") ;
1068 warnings::warnif('abc50', "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 ;
1085 use warnings 'abc50';
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("abc51") ;
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('abc51', "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 ;
1156 use warnings 'abc51';
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/;
1235 print "ok1\n" if !warnings::fatal_enabled('all') ;
1236 print "ok2\n" if !warnings::fatal_enabled("syntax") ;
1248 print "ok1\n" if !warnings::fatal_enabled('all') ;
1249 print "ok2\n" if warnings::fatal_enabled("syntax") ;
1252 use warnings FATAL => 'syntax' ;
1262 print "ok1\n" if warnings::fatal_enabled('all') ;
1263 print "ok2\n" if warnings::fatal_enabled("syntax") ;
1266 use warnings FATAL => 'all' ;
1276 print "ok1\n" if !warnings::fatal_enabled('all') ;
1277 print "ok2\n" if warnings::fatal_enabled("void") ;
1278 print "ok3\n" if !warnings::fatal_enabled("syntax") ;
1281 use warnings FATAL => 'all', NONFATAL => 'syntax' ;