Checking if your kit is complete... Looks good Writing Makefile for Hook::Filter cp lib/Hook/Filter.pm blib/lib/Hook/Filter.pm cp lib/Hook/Filter/Hooker.pm blib/lib/Hook/Filter/Hooker.pm cp lib/Hook/Filter/Rule.pm blib/lib/Hook/Filter/Rule.pm cp lib/Hook/Filter/RulePool.pm blib/lib/Hook/Filter/RulePool.pm cp lib/Hook/Filter/Plugins/Library.pm blib/lib/Hook/Filter/Plugins/Library.pm Manifying blib/man3/Hook::Filter::Hooker.3 Manifying blib/man3/Hook::Filter.3 Manifying blib/man3/Hook::Filter::RulePool.3 Manifying blib/man3/Hook::Filter::Rule.3 Manifying blib/man3/Hook::Filter::Plugins::Library.3 PERL_DL_NONLAZY=1 /Users/cpanrun/build/5.10.0/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/01_test_compile.............1..5 ok 1 - use Hook::Filter::Rule; ok 2 - use Hook::Filter::Plugins::Library; ok 3 - use Hook::Filter::RulePool; ok 4 - use Hook::Filter::Hooker; ok 5 - use Hook::Filter; ok t/02_test_import_params.......1..12 ok 1 - use with 'rules' => undef ok 2 - use with 'rules' => array of non scalar ok 3 - use with 'rules' but no 'hook' ok 4 - use with 'rules' and 'hook' ok 5 - use with 'rules' twice, but same file ok 6 - use with 'rules', trying to redefine search path ok 7 - use with hook undef ok 8 - use with hook neither scalar nor array ok 9 - use with hook array of non scalar ok 10 - use with hook a valid array of scalar ok 11 - use with hook a valid scalar [] ok 12 - use without parameters ok t/03_test_hook_filter_rule....1..32 ok 1 - use Hook::Filter::Rule; ok 2 - new with array ref ok 3 - new with hash ref ok 4 - new with 2 args ok 5 - new with 0 args ok 6 - new with correct arg ok 7 - eval [1;] did not fail ok 8 - results matched [1] ok 9 - rule() returns right tjohoo ok 10 - eval [print 'tjohoo # '; 0;] did not fail ok 11 - results matched [0] ok 12 - rule() returns right ok 13 - eval [1] did not fail ok 14 - results matched [1] ok 15 - rule() returns right ok 16 - eval [0 || (1 && 1)] did not fail ok 17 - results matched [1] ok 18 - rule() returns right ok 19 - eval [1 && 1] did not fail ok 20 - results matched [1] ok 21 - rule() returns right ok 22 - eval [0;] did not fail ok 23 - results matched [0] ok 24 - rule() returns right ok 25 - source with array ref ok 26 - source with hash ref ok 27 - source with 2 args ok 28 - source with 0 args ok 29 - source with correct arg ok 30 - test warning received when rule invalid ok 31 - test invalid rule is considered as true ok 32 - test warning has no file info when source undefined ok t/04_test_hook................1..33 ok 1 - use Hook::Filter::Hooker; ok 2 - use Hook::Filter::RulePool; ok 3 - use Hook::Filter::Rule; ok 4 - filter_sub with subroutine an array ref ok 5 - filter_sub with pkg a hash ref ok 6 - filter_sub with too many args ok 7 - filter_sub with too few args ok 8 - filter_sub with invalid subroutine name ok 9 - filter_sub with correct arg ok 10 - calling test function in scalar context, rules true [] ok 11 - test function was executed ok 12 - test function result ok 13 - calling test function in array context, rules true ok 14 - test function was executed ok 15 - test function result ok 16 - calling test function in scalar context, rules false ok 17 - test function was skipped ok 18 - test function result ok 19 - calling test function in array context, rules false ok 20 - test function was skipped ok 21 - test function result ok 22 - checking caller package ok 23 - checking caller file ok 24 - checking caller line ok 25 - checking caller subname ok 26 - checking own name ok 27 - checking own arguments ok 28 - checking caller package ok 29 - checking caller file ok 30 - checking caller line ok 31 - checking caller subname ok 32 - checking own name ok 33 - checking own arguments ok t/05_test_rule_file...........1..10 ok 1 - use Hook::Filter; ok 2 - main::mylog1 ok ok 3 - main::mylog2 ok ok 4 - main::mylog3 ok ok 5 - MyTest::mylog1 ok ok 6 - MyTest::mylog2 ok ok 7 - MyTest::mylog3 ok ok 8 - MyTest::Child::mylog1 ok ok 9 - MyTest::Child::mylog2 ok ok 10 - MyTest::Child::mylog3 ok ok t/06_test_log_dispatch........1..0 # Skip Log::Dispatch required for testing Log::Dispatch compatibility skipped all skipped: Log::Dispatch required for testing Log::Dispatch compatibility t/07_test_pool................1..18 ok 1 - use Hook::Filter::Rule; ok 2 - use Hook::Filter::RulePool; ok 3 - new() is forbidden ok 4 - get_rule_pool returns a pool ok 5 - pool is empty by default ok 6 - empty pool evals to true ok 7 - pool has now 1 element ok 8 - pool evals to false ok 9 - checking rule's source ok 10 - pool has now 2 elements ok 11 - pool evals to true ok 12 - pool was indeed emptied ok 13 - pool evals to true ok 14 - pool has now 1 element ok 15 - pool evals to true ok 16 - add_rule croaks on no args ok 17 - add_rule croaks on too many args ok 18 - add_rule croaks on wrong arg type ok t/08_test_injecting_rules.....1..10 ok 1 - pool is empty to start with (no rule file) ok 2 - main::mylog1 ok ok 3 - main::mylog2 ok ok 4 - main::mylog3 ok ok 5 - added rule. main::mylog1 ok ok 6 - added rule. main::mylog2 skipped ok 7 - added rule. main::mylog3 ok ok 8 - added 2nd rule. main::mylog1 ok ok 9 - added 2nd rule. main::mylog2 skipped ok 10 - added 2nd rule. main::mylog3 skipped ok t/09_test_default_behavior....1..9 ok 1 - use Hook::Filter; ok 2 - use Hook::Filter::RulePool; ok 3 - calls are allowed by default ok 4 - got warning matching [invalid Hook::Filter rule .1 -.] ok 5 - calls are allowed by default when all rules die ok 6 - got warning matching [invalid Hook::Filter rule .croak 'blob'.] ok 7 - calls are allowed by default when all rules die ok 8 - calls when pool empty ok 9 - blocks when default rule is false ok t/10_test_subname.............1..15 ok 1 - use Hook::Filter::Hooker; ok 2 - use Hook::Filter::Rule; ok 3 - use Hook::Filter::RulePool; ok 4 - main::sub1 matches string ok 5 - main::sub2 does not match string ok 6 - MyTest::sub1 does not match string ok 7 - MyTest::sub2 does not match string ok 8 - main::sub3 does not match string ok 9 - main::sub4 does not match string ok 10 - MyTest::sub3 matches string ok 11 - MyTest::sub4 does not match string ok 12 - main::sub5 does not match string ok 13 - main::sub6 does not match string ok 14 - MyTest::sub5 matches string ok 15 - MyTest::sub6 matches string ok t/11_test_arg.................1..9 ok 1 - use Hook::Filter::Hooker; ok 2 - use Hook::Filter::Rule; ok 3 - use Hook::Filter::RulePool; ok 4 - got warning matching [invalid Hook::Filter rule .arg.undef..] ok 5 - main::mysub1 called when rule fails ok 6 - main::mysub1 skipped when 1st arg does not match ok 7 - main::mysub1 called when 1st arg does match ok 8 - main::mysub1 skipped when 3rd arg does not match ok 9 - main::mysub1 called when 3rd arg does match ok t/13_test_from................1..8 ok 1 - use Hook::Filter::Hooker; ok 2 - use Hook::Filter::Rule; ok 3 - use Hook::Filter::RulePool; ok 4 - main::mysub1 does not match ok 5 - MyTest1::mysub1 does match ok 6 - main::mysub1 does match ok 7 - MyTest1::mysub1 does not match ok 8 - direct call => from = '' ok t/20_test_eval................1..6 ok 1 - foo not filtered when Hook::Filter not loaded ok 2 - caught warning 'Too late to run INIT block' ok 3 - used Hook::Filter ok 4 - pool is empty ok 5 - foo is not blocked since INIT not executed ok 6 - foo is now blocked after running _filter_subs ok t/pod-coverage................1..0 # Skip Test::Pod::Coverage 1.04 required for testing POD coverage skipped all skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/pod.........................1..5 ok 1 - blib/lib/Hook/Filter.pm ok 2 - blib/lib/Hook/Filter/Hooker.pm ok 3 - blib/lib/Hook/Filter/Rule.pm ok 4 - blib/lib/Hook/Filter/RulePool.pm ok 5 - blib/lib/Hook/Filter/Plugins/Library.pm ok All tests successful, 2 tests skipped. Files=15, Tests=172, 2 wallclock secs ( 1.96 cusr + 0.61 csys = 2.57 CPU) Installing /Users/cpanrun/build/5.10.0/html/site/lib/Hook/Filter.html Installing /Users/cpanrun/build/5.10.0/html/site/lib/Hook/Filter/Hooker.html Installing /Users/cpanrun/build/5.10.0/html/site/lib/Hook/Filter/Rule.html Installing /Users/cpanrun/build/5.10.0/html/site/lib/Hook/Filter/RulePool.html Installing /Users/cpanrun/build/5.10.0/html/site/lib/Hook/Filter/Plugins/Library.html Installing /Users/cpanrun/build/5.10.0/site/lib/Hook/Filter.pm Installing /Users/cpanrun/build/5.10.0/site/lib/Hook/Filter/Hooker.pm Installing /Users/cpanrun/build/5.10.0/site/lib/Hook/Filter/Rule.pm Installing /Users/cpanrun/build/5.10.0/site/lib/Hook/Filter/RulePool.pm Installing /Users/cpanrun/build/5.10.0/site/lib/Hook/Filter/Plugins/Library.pm Installing /Users/cpanrun/build/5.10.0/site/man/man3/Hook::Filter.3 Installing /Users/cpanrun/build/5.10.0/site/man/man3/Hook::Filter::Hooker.3 Installing /Users/cpanrun/build/5.10.0/site/man/man3/Hook::Filter::Plugins::Library.3 Installing /Users/cpanrun/build/5.10.0/site/man/man3/Hook::Filter::Rule.3 Installing /Users/cpanrun/build/5.10.0/site/man/man3/Hook::Filter::RulePool.3 Appending installation info to /Users/cpanrun/build/5.10.0/lib/perllocal.pod