Perl-Lint [RequireInterpolationOfMetachars](234a070979) SUCCESS
Compare: https://github.com/moznion/Perl-Lint/compare/2da5b12b7bec...234a070979f8
Elapsed Time: 13 sec
- 234a070 moznion: Support `rcs_keywords`
_ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] ukigumo-client 0.36 _ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] start testing : https://github.com/moznion/Perl-Lint RequireInterpolationOfMetachars _ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] working directory : /tmp/Perl-Lint/RequireInterpolationOfMetachars _ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] run vc : Ukigumo::Client::VC::Git _ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] workdir is /tmp/Perl-Lint/RequireInterpolationOfMetachars _ 2014-07-28T17:06:26 [INFO] [RequireInterpolationOfMetachars] command: git pull -f origin RequireInterpolationOfMetachars _ From https://github.com/moznion/Perl-Lint _ * branch RequireInterpolationOfMetachars -> FETCH_HEAD _ 2da5b12..234a070 RequireInterpolationOfMetachars -> origin/RequireInterpolationOfMetachars _ Updating 2da5b12..234a070 _ Fast-forward _ .../RequireInterpolationOfMetachars.pm | 46 +++++++++++++++------- _ .../require_interpolation_of_metachars.t | 28 ++++++------- _ 2 files changed, 45 insertions(+), 29 deletions(-) _ 2014-07-28T17:06:28 [INFO] [RequireInterpolationOfMetachars] command: git submodule init _ 2014-07-28T17:06:28 [INFO] [RequireInterpolationOfMetachars] command: git submodule update _ 2014-07-28T17:06:28 [INFO] [RequireInterpolationOfMetachars] command: git clean -dxf _ Removing extlib _ 2014-07-28T17:06:28 [INFO] [RequireInterpolationOfMetachars] command: git status _ # On branch RequireInterpolationOfMetachars _ nothing to commit, working directory clean _ 2014-07-28T17:06:28 [INFO] [RequireInterpolationOfMetachars] [before_install] cpanm -L $HOME/.ukigumo/perl-lint/extlib --installdeps -n . _ 2014-07-28T17:06:29 [INFO] [RequireInterpolationOfMetachars] [install] ln -s $HOME/.ukigumo/perl-lint/extlib ./extlib _ 2014-07-28T17:06:29 [INFO] [RequireInterpolationOfMetachars] run executor : Ukigumo::Client::Executor::Command _ 2014-07-28T17:06:29 [INFO] [RequireInterpolationOfMetachars] command: prove -lrv -Iextlib/lib/perl5 t _ _ [17:06:29] ==> t/00_compile.t <=========================================================== _ _ ✓ use Perl::Lint; _ _ ok _ ok 72 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_boolean_grep.t <====================== _ _ ✓ Basic passing _ ✓ Counting is allowed _ ✓ Non-boolean in conditional _ ✓ For loop is not conditional _ ✓ Control structures _ ✓ Postfix control structures _ ✓ Complex booleans _ ✓ Complex booleans _ ✓ Complex booleans _ ✓ Complex booleans _ ✓ Complex booleans _ ✓ Complex booleans _ ✓ code coverage... _ ✓ code coverage... _ _ ok _ ok 111 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_complex_mappings.t <================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Compound statements (false negative) _ ✓ Vary config parameters: success _ ✓ Vary config parameters: failue _ _ ok _ ok 102 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_lvalue_substr.t <===================== _ _ ✓ lvalue _ ✓ 4 arg substr _ ✓ rvalue _ ✓ hash rvalue _ ✓ substr as word _ ✓ low precedence boolean blocks assignment _ ✓ allow under really old Perl. RT \#59112 _ _ ok _ ok 99 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_reverse_sort_block.t <================ _ _ ✓ Basic passing _ ✓ Basic passing /w cmp _ ✓ Basic failure _ ✓ Basic failure w/ cmp _ ✓ Things that might look like sorts, but aren't, and sorts not involving $a and $b. _ ✓ Things that might look like sorts, but aren't, and sorts not involving $a and $b w/ cmp _ _ ok _ ok 96 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_sleep_via_select.t <================== _ _ ✓ sleep, as list _ ✓ sleep, as list w/var _ ✓ sleep, as built-in _ ✓ select on read _ ✓ select on write _ ✓ select on error _ ✓ select as word _ ✓ With three undefs, none of them the timeout. RT \#37416 _ _ ok _ ok 96 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_stringy_eval.t <====================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Things that might look like an eval, but aren't _ ✓ Eval of include statement without allow_includes set _ ✓ Eval of include statement without allow_includes set q/ quote string _ ✓ Eval of include statement with allow_includes set _ ✓ Eval of include statement with allow_includes set w/ quote string _ ✓ Eval of include statement with allow_includes set but extra stuff afterwards _ ✓ Eval of "no" include statement with allow_includes set _ ✓ Eval a comment (RT \#60179) _ _ ok _ ok 101 ms _ _ [17:06:29] ==> t/Evaluate/BuiltinFunctions/prohibit_stringy_split.t <===================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Special split on space _ ✓ Split oddities _ _ ok _ ok 93 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/prohibit_universal_can.t <===================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 88 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/prohibit_universal_isa.t <===================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 89 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/prohibit_useless_topic.t <===================== _ _ ✓ Topics in a filetest _ ✓ Topics in a filetest: -t $_ is not useless because -t defaults to STDIN _ ✓ Topics in a function call, with parens _ ✓ Topics in a function call, no parens _ ✓ Function calls with $_ but in ways that should not be flagged. _ _ ok _ ok 99 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/prohibit_void_grep.t <========================= _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Comma operator _ ✓ Chained void grep _ ✓ grep (RT \#79289) _ _ ok _ ok 95 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/prohibit_void_map.t <========================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Chained void map _ ✓ not builtin map _ ✓ Subscript map (derived from Perl::Critic RT \#79289) _ _ ok _ ok 96 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/require_block_grep.t <========================= _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Things that may look like a grep, but aren't _ _ ok _ ok 90 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/require_block_map.t <========================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Things that may look like a map, but aren't _ _ ok _ ok 90 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/require_glob_function.t <====================== _ _ ✓ glob via <...> _ ✓ glob via <...> in foreach _ ✓ Multiple globs via <...> _ ✓ I/O _ _ ok _ ok 90 ms _ _ [17:06:30] ==> t/Evaluate/BuiltinFunctions/require_simple_sort_block.t <================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Potential false positives _ _ ok _ ok 91 ms _ _ [17:06:30] ==> t/Evaluate/ClassHierarchies/prohibit_autoloading.t <======================= _ _ ✓ Basic passing _ ✓ Empty AUTOLOAD() _ ✓ AUTOLOAD() with code _ _ ok _ ok 91 ms _ _ [17:06:31] ==> t/Evaluate/ClassHierarchies/prohibit_explicit_isa.t <====================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 87 ms _ _ [17:06:31] ==> t/Evaluate/ClassHierarchies/prohibit_one_arg_bless.t <===================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 93 ms _ _ [17:06:31] ==> t/Evaluate/CodeLayout/prohibit_parens_with_builtins.t <==================== _ _ ✓ Basic failure _ ✓ Basic passing _ ✓ Method invocation _ ✓ Unary operators with parens, followed by a high-precedence operator _ ✓ RT \#21713 _ ✓ Parentheses with greedy functions _ ✓ Test cases from RT _ ✓ High-precedence operator after parentheses _ ✓ Low-precedence operator after parentheses _ ✓ Named unary op with operator inside parenthesis (RT \#46862) _ ✓ Handling sort having subroutine name as an argument _ ✓ RT 52029 - Accept parens with 'state' _ _ ok _ ok 102 ms _ _ [17:06:31] ==> t/Evaluate/CodeLayout/prohibit_quoted_word_lists.t <======================= _ _ ✓ Basic failure _ ✓ Non-word lists _ ✓ Basic passing _ ✓ Three elements with minimum set to four _ ✓ Four elements with minimum set to four _ ✓ Failing 'use' statements _ ✓ Passing 'use' statements _ ✓ Non-word lists in strict mode. _ _ ok _ ok 98 ms _ _ [17:06:31] ==> t/Evaluate/CodeLayout/require_trailing_commas.t <========================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ List assignment _ ✓ Conditionals and mathematical precedence _ ✓ code coverage _ _ ok _ ok 98 ms _ _ [17:06:31] ==> t/Evaluate/ControlStructures/prohibit_cascading_if_else.t <================ _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ With custom max_elsif value. _ _ ok _ ok 90 ms _ _ [17:06:31] ==> t/Evaluate/ControlStructures/prohibit_cstyle_for_loops.t <================= _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 89 ms _ _ [17:06:31] ==> t/Evaluate/ControlStructures/prohibit_labels_with_special_block_names.t <== _ _ ✓ Basic passing _ ✓ Failure, cuddled colon _ ✓ Failure, uncuddled colon _ _ ok _ ok 89 ms _ _ [17:06:31] ==> t/Evaluate/ControlStructures/prohibit_unless_blocks.t <==================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 87 ms _ _ [17:06:31] ==> t/Evaluate/ControlStructures/prohibit_until_blocks.t <===================== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 91 ms _ _ [17:06:32] ==> t/Evaluate/ErrorHandling/require_carping.t <=============================== _ _ Unspectacular die _ ✓ L23: is scalar @$violations, 3; _ Unspectacular warn _ ✓ L37: is scalar @$violations, 3; _ Carping _ ✓ L51: is scalar @$violations, 0; _ No croaking _ ✓ L60: is scalar @$violations, 1; _ Complain about cases without arguments _ ✓ L70: is scalar @$violations, 2; _ Complain about cases with empty list arguments _ ✓ L80: is scalar @$violations, 2; _ Complain about cases with non-string arguments _ ✓ L95: is scalar @$violations, 7; _ Don't complain if message ends with "\n" in double quotes _ ✓ L105: is scalar @$violations, 0; _ Don't complain if message ends with literal "\n" _ ✓ L121: is scalar @$violations, 0; _ Don't complain if message is a heredoc, which must end in "\n" _ ✓ L136: is scalar @$violations, 0; _ Complain if message ends with "\n" in single quotes _ ✓ L146: is scalar @$violations, 2; _ Don't complain if message ends with "\n" in interpolated quotelike operator _ ✓ L157: is scalar @$violations, 0; _ Complain if message ends with "\n" in non-interpolated quotelike operator _ ✓ L168: is scalar @$violations, 3; _ Don't complain if message is a list with a last element that ends with "\n" _ ✓ L180: is scalar @$violations, 0; _ Don't complain if message is a parenthesised list with a last element that ends with "\n" _ ✓ L192: is scalar @$violations, 0; _ Don't complain if message is a list with "sub" lists with a last (flattened list) element that ends with "\n" _ ✓ L222: is scalar @$violations, 0; _ Complain if message is a list with "sub" lists with a last (flattened list) element that doesn't end with "\n" _ ✓ L253: is scalar @$violations, 10; _ Don't complain if message is a concatenation with a last element that ends with "\n" _ ✓ L263: is scalar @$violations, 0; _ Don't complain if followed by postfix operator and otherwise valid _ ✓ L298: is scalar @$violations, 0; _ Complain if followed by postfix operator with "\n" ending last operand and otherwise invalid. _ ✓ L333: is scalar @$violations, 24; _ Complain if message has a last element that ends with "\n" but has an operation in front _ ✓ L350: is scalar @$violations, 8; _ Complain if config doesn't allow newlines. _ ✓ L363: is scalar @$violations, 1; _ Complain if in main:: and option not set _ ✓ L374: is scalar @$violations, 1; _ Don't complain if in main:: and option set (RT #56619) _ ✓ L389: is scalar @$violations, 0; _ Don't complain if implicitly in main:: and option set _ ✓ L402: is scalar @$violations, 0; _ Complain if in main:: but in subroutine _ ✓ L417: is scalar @$violations, 1; _ Complain if in main:: but in anonymous subroutine _ ✓ L432: is scalar @$violations, 1; _ Don't complain about obvious uses of references because they're likely being used as exception objects. _ ✓ L466: is scalar @$violations, 0; _ _ ok _ ok 131 ms _ _ [17:06:32] ==> t/Evaluate/ErrorHandling/require_checking_return_value_of_eval.t <========= _ _ ✓ Basic Failure _ ✓ Assignment _ ✓ Assignment with comma separated statements. _ ✓ if _ ✓ foreach _ ✓ C-style for with eval in condition or assignment _ ✓ C-style for with eval in initialization or increment with no assignment _ ✓ while _ ✓ Postfix if _ ✓ Ternary _ ✓ Postfix foreach _ ✓ First value in comma-separated list in condition _ ✓ Last value in comma-separated list in condition _ ✓ Last value in comma-separated list that isn't the last element in another list in condition _ ✓ "Proper" handling of return value _ ✓ A grep is a check -- RT \#69489 _ _ ok _ ok 111 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_backtick_operators.t <===================== _ _ ✓ Basic failures _ ✓ Passing with only_in_void_context _ ✓ Failure with only_in_void_context _ _ ok _ ok 98 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_bareword_file_handles.t <================== _ _ ✓ standard filehandles are OK _ ✓ basic failures _ ✓ basic passes _ _ ok _ ok 100 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_explicit_stdin.t <========================= _ _ ✓ basic passes _ ✓ basic failures _ ✓ ppi failures _ _ ok _ ok 97 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_interactice_test.t <======================= _ _ ✓ basic failures _ ✓ basic passes _ _ ok _ ok 90 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_joined_readline.t <======================== _ _ ✓ basic passes _ ✓ basic failures _ ✓ ppi failures _ ✓ code coverage _ _ ok _ ok 92 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_one_arg_select.t <========================= _ _ ✓ 1 arg; variable w/parens _ ✓ 1 arg; variable, as built-in _ ✓ 1 arg; fh, w/parens _ ✓ 1 arg; fh, as built-in _ ✓ 4 args _ ✓ RT Bug \#15653 _ _ ok _ ok 93 ms _ _ [17:06:32] ==> t/Evaluate/InputOutput/prohibit_readline_in_for_loop.t <=================== _ _ ✓ basic failures _ ✓ basic passes _ _ ok _ ok 89 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/prohibit_two_arg_open.t <=========================== _ _ ✓ basic failures _ ✓ basic passes _ ✓ no three-arg equivalent passes _ ✓ pass with "use 5.005" _ ✓ fail with "use 5.006" _ ✓ rt44554 two arg open should fail _ _ ok _ ok 95 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/require_breced_file_handle_with_print.t <=========== _ _ ✓ basic failures (print) _ ✓ basic failures (printf) _ ✓ more arcane passes (print) _ ✓ more arcane passes (printf) _ ✓ more bracing arcana (print) _ ✓ more bracing arcana (printf) _ ✓ RT \#49500: say violations _ ✓ RT \#49500: say compliances _ _ ok _ ok 104 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/require_checked_close.t <=========================== _ _ ✓ passes by assigning error variable _ ✓ passes by "or die" _ ✓ passes by "|| die" _ ✓ passes by "unless" _ ✓ passes by "if not" _ ✓ passes with "if" statement _ ✓ Basic failure with parens _ ✓ Basic failure no parens _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal::Exception on _ ✓ Fatal.pm off _ ✓ autodie on via no parameters _ ✓ autodie on via :io _ ✓ autodie off _ ✓ autodie on and off _ _ ok _ ok 109 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/require_checked_open.t <============================ _ _ ✓ passes by assigning error variable _ ✓ passes by "or die" _ ✓ passes by "|| die" _ ✓ passes by "unless" _ ✓ passes by "if not" _ ✓ passes with "if" statement _ ✓ Basic failure with parens _ ✓ Basic failure no parens _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal::Exception on _ ✓ Fatal.pm off _ ✓ autodie on via no parameters _ ✓ autodie on via :io _ ✓ autodie off _ ✓ autodie on and off _ _ ok _ ok 109 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/require_checked_syscalls.t <======================== _ _ ✓ passes by assigning error variable _ ✓ passes by "or die" _ ✓ passes by "|| die" _ ✓ passes by "unless" _ ✓ passes by "if not" _ ✓ passes with "if" statement _ ✓ Basic failure with parens _ ✓ Basic failure no parens _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal::Exception on _ ✓ Fatal.pm off _ ✓ passes by assigning error variable _ ✓ passes by "or die" _ ✓ passes by "|| die" _ ✓ passes by "unless" _ ✓ passes by "if not" _ ✓ passes with "if" statement _ ✓ Basic failure with parens _ ✓ Basic failure no parens _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal.pm on _ ✓ Fatal::Exception on _ ✓ Fatal.pm off _ ✓ autodie on via no parameters _ ✓ autodie on via :io _ ✓ autodie off _ ✓ autodie on and off _ ✓ no config _ ✓ config with single function _ ✓ config with :builtins _ ✓ config with :builtins except print with failure _ ✓ config with :builtins except print with failure _ ✓ insane config with failures _ ✓ insane config without failures _ ✓ insane config with excluded function _ ✓ RT \#37487 - complain about use of say _ _ ok _ ok 139 ms _ _ [17:06:33] ==> t/Evaluate/InputOutput/require_encoding_with_utf8_layer.t <================ _ _ ✓ basic failures _ ✓ basic passes _ _ ok _ ok 93 ms _ _ [17:06:33] ==> t/Evaluate/Miscellanea/prohibit_formats.t <================================ _ _ ✓ standard failures _ ✓ basic passes _ _ ok _ ok 88 ms _ _ [17:06:33] ==> t/Evaluate/Miscellanea/prohibit_ties.t <=================================== _ _ ✓ basic failures _ ✓ basic passes _ _ ok _ ok 89 ms _ _ [17:06:33] ==> t/Evaluate/Module/prohibit_automatic_exportation.t <======================= _ _ ✓ Basic failure, "our @EXPORT;" _ ✓ Basic failure, "use vars @EXPORT;" _ ✓ Basic failure, "@PACKAGE::EXPORT;" _ ✓ Basic pass, "our @EXPORT_OK;" _ ✓ Basic pass, "use vars %EXPORT_TAGS;" _ ✓ Basic pass, "@PACKAGE::EXPORT_OK;" _ ✓ Basic pass, "use vars '@EXPORT_OK';" _ ✓ Basic pass, "use vars '%EXPORT_TAGS';" _ ✓ No exporting at all _ ✓ No special variable to export _ _ ok _ ok 98 ms _ _ [17:06:33] ==> t/Evaluate/Module/prohibit_conditional_use_statements.t <================== _ _ ✓ pass, simple use _ ✓ pass, enclosing bare block _ ✓ pass, enclosing labeled bare block _ ✓ pass, enclosing subroutine _ ✓ pass, enclosing begin block _ ✓ pass, enclosing do block _ ✓ pass, enclosing string eval block _ ✓ pass, enclosing if statement in string eval _ ✓ pass, enclosing string eval in if statement _ ✓ pass, simple require _ ✓ pass, require in enclosing bare block _ ✓ pass, require in enclosing labeled bare block _ ✓ pass, require in enclosing subroutine _ ✓ pass, require in enclosing begin block _ ✓ pass, require in enclosing do block _ ✓ pass, require in enclosing do following logical or _ ✓ pass, require in enclosing do following logical and _ ✓ pass, require in enclosing do following binary or _ ✓ pass, require in enclosing do following binary and _ ✓ pass, require enclosing string eval block _ ✓ pass, require in enclosing if statement in string eval _ ✓ pass, require in enclosing string eval in if statement _ ✓ pass, require in enclosing else statement _ ✓ pass, require in enclosing elsif statement _ ✓ pass, require in enclosing while statement _ ✓ pass, require in enclosing continue statement _ ✓ pass, require in enclosing unless statement _ ✓ pass, require in enclosing until statement _ ✓ pass, require in enclosing c-style for statement _ ✓ pass, require in enclosing for statement _ ✓ pass, require in enclosing foreach statement _ ✓ pass, require in enclosing if statement in begin block _ ✓ pass, require in enclosing do-while block _ ✓ pass, require in enclosing do-until block _ ✓ pass, require in enclosing do-unless block _ ✓ pass, require in enclosing do-for block _ ✓ pass, require in enclosing do-foreach block _ ✓ pass, require in enclosing do-if block _ ✓ pass, simple pragma _ ✓ pass, pragma in enclosing bare block _ ✓ pass, pragma in enclosing labeled bare block _ ✓ pass, pragma in enclosing subroutine _ ✓ pass, pragma in enclosing begin block _ ✓ pass, pragma in enclosing do block _ ✓ pass, pragma in enclosing do following logical or _ ✓ pass, pragma in enclosing do following logical and _ ✓ pass, pragma in enclosing do following binary or _ ✓ pass, pragma in enclosing do following binary and _ ✓ pass, pragma enclosing string eval block _ ✓ pass, pragma in enclosing if statement in string eval _ ✓ pass, pragma in enclosing string eval in if statement _ ✓ pass, pragma in enclosing else statement _ ✓ pass, pragma in enclosing elsif statement _ ✓ pass, pragma in enclosing while statement _ ✓ pass, pragma in enclosing continue statement _ ✓ pass, pragma in enclosing unless statement _ ✓ pass, pragma in enclosing until statement _ ✓ pass, pragma in enclosing c-style for statement _ ✓ pass, pragma in enclosing for statement _ ✓ pass, pragma in enclosing foreach statement _ ✓ pass, pragma in enclosing if statement in begin block _ ✓ pass, pragma in enclosing do-while block _ ✓ pass, pragma in enclosing do-until block _ ✓ pass, pragma in enclosing do-unless block _ ✓ pass, pragma in enclosing do-for block _ ✓ pass, pragma in enclosing do-foreach block _ ✓ pass, pragma in enclosing do-if block _ ✓ failure, enclosing else statement _ ✓ failure, enclosing elsif statement _ ✓ failure, enclosing while statement _ ✓ failure, enclosing continue statement _ ✓ failure, enclosing unless statement _ ✓ failure, enclosing until statement _ ✓ failure, enclosing c-style for statement _ ✓ failure, enclosing for statement _ ✓ failure, enclosing foreach statement _ ✓ failure, enclosing if statement in begin block _ ✓ failure, enclosing eval statement _ ✓ failure, enclosing if statement in eval _ ✓ failure, enclosing do following logical or _ ✓ failure, enclosing do following logical and _ ✓ failure, enclosing do following binary or _ ✓ failure, enclosing do following binary and _ ✓ failure, enclosing do-while block _ ✓ failure, enclosing do-until block _ ✓ failure, enclosing do-unless block _ ✓ failure, enclosing do-for block _ ✓ failure, enclosing do-foreach block _ ✓ failure, enclosing do-if block _ _ ok _ ok 189 ms _ _ [17:06:34] ==> t/Evaluate/Module/prohibit_evil_modules.t <================================ _ _ ✓ Deprecated Class::ISA _ ✓ Deprecated Pod::Plainer _ ✓ Deprecated Shell _ ✓ Deprecated Switch _ ✓ 2 evil modules _ ✓ No evil modules _ ✓ 2 evil modules, with pattern matching _ ✓ More evil modules, with mixed config _ ✓ More evil modules, with more pattern matching _ ✓ Pattern matching exceptions _ ✓ Providing the description for modules, no regular expressions. _ ✓ Providing the description for modules, regular expressions. _ ✓ Providing the description for modules, no regular expressions. _ ✓ Providing the description for modules, regular expressions. _ _ ok _ ok 111 ms _ _ [17:06:34] ==> t/Evaluate/Module/prohibit_excess_main_complexity.t <====================== _ _ ✓ param-based failure _ ✓ parm-based failure _ ✓ exclude code inside subroutines _ ✓ empty module _ ✓ basic pass _ ✓ fail cuz over the default mccabe _ _ ok _ ok 98 ms _ _ [17:06:34] ==> t/Evaluate/Module/prohibit_multiple_packages.t <=========================== _ _ ✓ basic pass, no package _ ✓ basic failure _ ✓ basic pass, with code _ _ ok _ ok 91 ms _ _ [17:06:34] ==> t/Evaluate/Module/require_bareword_includes.t <============================ _ _ ✓ basic pass, incomplete statements _ ✓ basic failures _ ✓ basic passes with module names _ _ ok _ ok 93 ms _ _ [17:06:34] ==> t/Evaluate/Module/require_end_with_one.t <================================= _ _ ✓ no code, no need for a one _ ✓ basic pass _ ✓ pass with __END__ _ ✓ pass with __DATA__ _ ✓ pass with comments at the end _ ✓ pass with comment on the same line _ ✓ pass with extra space _ ✓ pass with more spacing _ ✓ pass with 1 on last line, but not last statement _ ✓ fails with 0 _ ✓ fail with closing sub _ ✓ fail with END block _ ✓ fail with a non-zero true value _ ✓ programs are exempt _ ✓ DESTROY sub hides the 1; _ _ ok _ ok 102 ms _ _ [17:06:34] ==> t/Evaluate/Module/require_explicit_package.t <============================= _ _ ✓ one statement before package _ ✓ BEGIN block before package _ ✓ inclusion before package _ ✓ two statements before package _ ✓ no package at all _ ✓ no statements at all _ ✓ just a package, no statements _ ✓ package OK _ ✓ programs can be exempt _ ✓ programs not exempted _ ✓ programs not exempted, but we have a package _ ✓ Allow exception for specific module loads. RT \#72660 _ _ ok _ ok 100 ms _ _ [17:06:34] ==> t/Evaluate/Module/require_filename_matches_package.t <===================== _ _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic passes. _ ✓ Basic Failure. _ ✓ Basic Failure. _ ✓ Basic Failure. _ ✓ Basic Failure. _ ✓ Basic Failure. _ ✓ Basic Failure. _ ✓ first package is main, with inner package _ ✓ second package is main, with inner package _ ✓ programs are exempt _ ✓ using \#line directive with double-quoted filename _ ✓ using \#line directive with bareword filename _ ✓ \#line directive appears after package declaration _ ✓ multiple \#line directives _ ✓ \#line directive with multi-part path _ ✓ \#line directive with multi-part path in lib/ dir _ ✓ \#line directive with partially matching multi-part path _ ✓ no package declaration at all _ ✓ \#line directive with no package declaration at all _ _ ok _ ok 115 ms _ _ [17:06:34] ==> t/Evaluate/Module/require_no_match_vars_with_use_english.t <=============== _ _ ✓ Passing with no "use English". _ ✓ Passing single quotes. _ ✓ Passing double quotes _ ✓ Passing literal quotes. _ ✓ Passing literal quotes with whitespace before delimiter. _ ✓ Passing interpolating quotes. _ ✓ Passing interpolating quotes with whitespace before delimiter. _ ✓ Passing quotelike words. _ ✓ Passing quotelike words with whitespace before delimiter. _ ✓ Passing quotelike words with things in addition to -no_match_vars. _ ✓ Passing parenthesized list. _ ✓ Passing parenthesized list with things in addition to -no_match_vars. _ ✓ Passing unparenthesized list with things in addition to -no_match_vars. _ ✓ Passing version. _ ✓ Passing v-string version. _ ✓ Passing parenthesized list and version. _ ✓ Basic failure. _ ✓ Failure with version. _ ✓ Failure with v-string. _ ✓ Failure with random garbage. _ ✓ Failure with typo that Ovid noticed. _ _ ok _ ok 113 ms _ _ [17:06:35] ==> t/Evaluate/Module/require_version_var.t <================================== _ _ ✓ No code _ ✓ basic pass _ ✓ basic pass \#2 _ ✓ basic pass \#3 _ ✓ basic pass \#4 _ ✓ basic pass \#5 _ ✓ fail with lexical _ ✓ fail with wrong variable _ ✓ Readonly VERSION _ ✓ Readonly::Scalar VERSION _ ✓ Readonly::Scalar VERSION _ ✓ Version as argument to package. RT \#67159 _ ✓ Package without version should still be violation. RT \#67159 _ _ ok _ ok 100 ms _ _ [17:06:35] ==> t/Evaluate/NamingConventions/Capitalization.t <============================ _ _ ✓ Basic Passes _ ✓ Basic Failures _ ✓ Special case: main _ ✓ Combined passes and fails _ ✓ Variables from other packages should pass _ ✓ Only cares about declarations _ ✓ Constants must be all caps, passes _ ✓ Constants must be all caps, failures _ ✓ PPI misparses part of ternary as a label (RT \#41170, imported from Perl::Critic) _ _ ok _ ok 104 ms _ _ [17:06:35] ==> t/Evaluate/NamingConventions/ProhibitAmbiguousNames.t <==================== _ _ ✓ Basic failures. _ ✓ Ambiguous word in compound name. _ ✓ Basic passes. _ ✓ Ambiguous name on rhs. _ ✓ Ambiguous, but exempt by convention _ ✓ Custom null configuration _ ✓ Custom configuration: "foo bar baz quux" _ ✓ Custom configuration: "foo bar baz quux" _ ✓ Custom null configuration _ _ ok _ ok 99 ms _ _ [17:06:35] ==> t/Evaluate/Objects/indirect_syntax.t <===================================== _ _ basic passes _ ✓ L25: is scalar @$violations, 0; _ basic failures _ ✓ L43: is scalar @$violations, 6; _ specify name of subroutine to check _ unchecked indirect objects _ ✓ L70: is scalar @$violations, 0; _ checked indirect objects _ ✓ L80: is scalar @$violations, 10; _ _ ok _ ok 91 ms _ _ [17:06:35] ==> t/Evaluate/Regex/prohibit_unusual_delimiters.t <=========================== _ _ ✓ basic passes _ ✓ basic failures _ ✓ allow_all_brackets _ _ ok _ ok 92 ms _ _ [17:06:35] ==> t/Evaluate/Regex/require_dot_match_anything.t <============================ _ _ ✓ basic passes _ ✓ basic failures _ ✓ tr and y checking _ ✓ use re '/s' - RT \#72151 _ ✓ use re qw{ /s } - RT \#72151 _ ✓ use re qw{ /s } not in scope - RT \#72151 _ ✓ no re qw{ /s } - RT \#72151 _ _ ok _ ok 96 ms _ _ [17:06:35] ==> t/Evaluate/Regex/require_extended_formatting.t <=========================== _ _ ✓ basic passes _ ✓ basic failures _ ✓ tr and y formatting _ ✓ minimum_regex_length_to_complain_about, pass _ ✓ minimum_regex_length_to_complain_about, fail _ ✓ strict _ ✓ use re '/x' - RT \#72151 _ ✓ use re qw{ /x } - RT \#72151 _ ✓ use re qw{ /x } not in scope - RT \#72151 _ ✓ no re qw{ /x } - RT \#72151 _ _ ok _ ok 101 ms _ _ [17:06:35] ==> t/Evaluate/Regex/require_line_boundary_matching.t <======================== _ _ ✓ basic passes _ ✓ basic failures _ ✓ tr and y checking _ ✓ use re '/m' - RT \#72151 _ ✓ use re "/m" _ ✓ use re qw{ /m } - RT \#72151 _ ✓ use re qw{ /m } not in scope - RT \#72151 _ ✓ no re qw{ /m } - RT \#72151 _ _ ok _ ok 99 ms _ _ [17:06:35] ==> t/Evaluate/Subroutines/prohibit_ampersand_sigils.t <======================= _ _ ✓ basic failures _ ✓ basic passing _ ✓ RT \#38855 passing with parens _ ✓ RT \#49609 recognize reference-taking distributes over parens _ ✓ more passing _ ✓ handle that the first bareword after "sort" is the comparator function _ _ ok _ ok 95 ms _ _ [17:06:35] ==> t/Evaluate/Subroutines/prohibit_builtin_homonyms.t <======================= _ _ ✓ Basic failures _ ✓ Basic passing _ ✓ Acceptable homonyms _ _ ok _ ok 93 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_excess_complexity.t <====================== _ _ ✓ parm-based pass _ ✓ parm-based failure _ ✓ failure with default mccabee _ ✓ no-op sub _ _ ok _ ok 92 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_explicit_return_undef.t <================== _ _ ✓ simple failure _ ✓ simple success _ _ ok _ ok 94 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_many_args.t <============================== _ _ ✓ basic passes _ ✓ simple failures _ ✓ configured failures _ ✓ configured successes _ ✓ RT56627: prototype interpretation _ ✓ prototype grouping _ ✓ single term prototype (Perl 5.14) _ ✓ single term prototype (Perl 5.14) _ _ ok _ ok 97 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_nested_subs.t <============================ _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Subroutine declarations inside scheduled blocks used for lexical scope restriction. _ ✓ Scheduled blocks inside subroutine declarations. _ ✓ Subroutine declarations inside scheduled blocks inside subroutine declarations. _ _ ok _ ok 93 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_return_sort.t <============================ _ _ ✓ simple failure _ ✓ simple success _ ✓ when used in conjunction with wantarray() _ ✓ "sort" used in other contexts... _ _ ok _ ok 93 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_subroutine_prototypes.t <================== _ _ ✓ simple failure _ ✓ simple success _ _ ok _ ok 89 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/prohibit_unused_private_subroutines.t <============= _ _ ✓ basic failure _ ✓ basic pass _ ✓ Method call is OK _ ✓ Method call where invocant is "shift" _ ✓ other builtin-function followed by private method call _ ✓ Maybe non-obvious failure _ ✓ Forward references do not count _ ✓ User-configured exceptions. _ ✓ private_name_regex passing _ ✓ private_name_regex failure _ ✓ reference to private subroutine _ ✓ goto to private subroutine _ ✓ private subroutine used in overload _ ✓ private subroutine used in overload, the bad way _ ✓ private subroutine used in overload, by reference _ ✓ recursive but otherwise unused subroutine _ ✓ recursive subroutine called outside itself _ ✓ subroutine declared in someone else's name space _ ✓ Subroutine called in replacement portion of s/.../.../e _ ✓ Subroutine called in regexp interpolation _ ✓ Subroutine called in regexp embedded code _ ✓ RT 61311: dies on "&_name" call _ _ ok _ ok 113 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/protect_private_subs.t <============================ _ _ ✓ basic failure _ ✓ basic passes _ ✓ Public methods called on non-public classes ok. _ ✓ Class methods invoked via __PACKAGE__ are always OK. _ ✓ "shift" followed by private method call _ ✓ other builtin-function followed by private method call _ ✓ Difficult-to-detect pass _ ✓ Exceptions from the POSIX module. _ ✓ User-configured exceptions. _ ✓ private_name_regex passing _ ✓ private_name_regex failure _ _ ok _ ok 102 ms _ _ [17:06:36] ==> t/Evaluate/Subroutines/require_arg_unpacking.t <=========================== _ _ ✓ basic passes _ ✓ prototype passes _ ✓ scheduled subs _ ✓ passes - no arguments _ ✓ failure - not idiomatic enough _ ✓ basic failures _ ✓ failure in an anonymous sub _ ✓ basic failures, set config higher _ ✓ mixed failures _ ✓ nested anon sub _ ✓ nested name sub _ ✓ array slice (POE convention), default behavior _ ✓ array slice (POE convention) with indices allowed _ ✓ exclude foreach rt\#39601 _ ✓ and still catch unrolling args in a postfix for _ ✓ Allow the usual delegation idioms. _ ✓ Don't allow delegation to unknown places. _ ✓ Allow delegation to places we have been told about. _ ✓ Recognize $$_[0] as a use of $_, not @_ (rt \#37713) _ ✓ Allow tests (rt \#79138) _ _ ok _ ok 116 ms _ _ [17:06:37] ==> t/Evaluate/Subroutines/require_final_return.t <============================ _ _ ✓ basic passes _ ✓ complex passes _ ✓ ternary returns _ ✓ returning ternaries _ ✓ implicit returns fail _ ✓ return in a constant loop _ ✓ not all code paths returns _ ✓ special blocks exemption _ ✓ goto is equivalent to return _ ✓ next and last are not equivalent to return (and are invalid Perl) _ ✓ abnormal termination is allowed _ ✓ Final return is present, but conditional _ ✓ Compound final return is present, but conditional _ ✓ Custom terminals _ ✓ ForLoop is a QuoteLike::Words _ _ ok _ ok 107 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/prohibit_no_strict.t <====================== _ _ ✓ strictures disabled _ ✓ selective strictures disabled _ ✓ selective strictures disabled _ ✓ allowed no strict _ ✓ partially allowed no strict _ ✓ partially allowed no strict _ ✓ allow no strict, mixed case config _ ✓ allow no strict, comma-delimimted config _ ✓ wrong case, funky config _ _ ok _ ok 103 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/prohibit_no_warnings.t <==================== _ _ ✓ warnings disabled _ ✓ selective warnings disabled, regular quotes _ ✓ selective warnings disabled, qw<> _ ✓ allow no warnings, mixed case config _ ✓ allow no warnings, comma delimimted _ ✓ wrong case, funky config _ ✓ More wrong case, funky config _ ✓ with_at_least_one, no categories _ ✓ with_at_least_one, one category _ ✓ with_at_least_one, many categories, regular quotes _ ✓ with_at_least_one, many categories, qw<> _ ✓ allow_with_category_restriction, category qw. RT \#74647, _ _ ok _ ok 101 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/prohibit_prolonged_stricture_override.t <=== _ _ ✓ standard pass _ ✓ standard fail _ ✓ pass that's almost to fail _ ✓ in a block _ ✓ long fail in a block _ ✓ config override _ _ ok _ ok 98 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/require_test_labels.t <===================== _ _ ✓ standard failures _ ✓ name standard passing _ ✓ name more passing _ ✓ empty array and hash parsing _ ✓ exceptions _ ✓ more exceptions _ ✓ RT 24924, is_deeply (from Perl::Critic) _ _ ok _ ok 100 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/require_use_strict.t <====================== _ _ ✓ one statement before strict _ ✓ several statements before strict _ ✓ no strict at all _ ✓ name require strict _ ✓ strictures used, but no code _ ✓ no strict at all, w/END _ ✓ no strict at all, w/DATA _ ✓ strictures used OK _ ✓ other module included before strict _ ✓ package statement before strict _ ✓ Work around a PPI bug that doesn't return a location for C<({})>. _ ✓ Moose support _ ✓ Moose::Role support _ ✓ Moose::Util::TypeConstraints support _ ✓ equivalent_modules _ ✓ "use strict" in lexical context (BEGIN block) RT \#42310 _ ✓ "use strict" in lexical context (subroutine) RT \#42310 _ ✓ "use perl-version" equivalent to strict as of 5.011 _ ✓ "use perl-version" in lexical context _ _ ok _ ok 109 ms _ _ [17:06:37] ==> t/Evaluate/TestingAndDebugging/require_use_warnings.t <==================== _ _ ✓ 1 statement before warnings _ ✓ several statements before warnings _ ✓ no warnings at all _ ✓ no warnings at all with "use 5.005" _ ✓ no warnings at all with "use 5.006" _ ✓ require warnings _ ✓ warnings used, but no code _ ✓ no warnings at all, w/END _ ✓ no warnings at all, w/DATA _ ✓ warnings used _ ✓ Other module included before warnings _ ✓ name package statement before warnings _ ✓ Work around a PPI bug that doesn't return a location for C<({})>. _ ✓ Moose support _ ✓ Moose::Role support _ ✓ Moose::Util::TypeConstraints support _ ✓ equivalent_modules _ ✓ "use warnings" in lexical context (BEGIN block) RT \#42310 _ ✓ "use warnings" in lexical context (subroutine) RT \#42310 _ _ ok _ ok 109 ms _ _ [17:06:37] ==> t/Evaluate/ValuesAndExpressions/prohibit_comma_separated_statements.t <==== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ List including assignments _ ✓ List containing statement _ ✓ List containing statement in a constructor that is reported as a block _ ✓ Regular statement inside a block. _ ✓ Sub call after comma _ ✓ Regular sub call before comma _ ✓ No-argument sub call via use of sigil _ ✓ Two sub calls _ ✓ Built-in call that provides a list context without parentheses _ ✓ Built-in call that provides a list context, called like a function _ ✓ Built-in call that takes multiple arguments without parentheses _ ✓ Built-in call that takes multiple arguments, called like a function _ ✓ Call to unary built-in without parentheses _ ✓ Unary built-in, called like a function _ ✓ Call to no-argument built-in without parentheses _ ✓ No-argument built-in, called like a function _ ✓ Call to optional argument built-in without an argument without parentheses _ ✓ Optional argument built-in, called like a function without an argument _ ✓ Call to optional argument built-in with an argument without parentheses _ ✓ Optional argument built-in, called like a function with an argument _ ✓ For loop _ ✓ For loop _ ✓ qw<> _ ✓ original RT \#27654 _ ✓ RT \#27654 - NKH example 1 _ ✓ RT \#27654 - NKH example 2 - without allow_last_statement_to_be_comma_separated_in_map_and_grep _ ✓ RT \#27654 - NKH example 2 - with allow_last_statement_to_be_comma_separated_in_map_and_grep _ ✓ RT \#27654 - NKH example 3 _ ✓ RT \#33935 and 49679 _ ✓ RT \#61301 (requires PPI 1.215) _ ✓ RT \#64132 (requires PPI 1.215) _ _ ok _ ok 127 ms _ _ [17:06:37] ==> t/Evaluate/ValuesAndExpressions/prohibit_complex_version.t <=============== _ _ ✓ basic passes _ ✓ basic failures _ ✓ configure 'use version' to fail. _ ✓ passes from the ProhibitMagicNumbers.run treasury. _ ✓ failures from the ProhibitMagicNumbers.run treasury. _ _ ok _ ok 104 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_constant_pragma.t <=============== _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 90 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_empty_quotes.t <================== _ _ ✓ Basic failure _ ✓ Quote-like operator passing _ ✓ Non-empty passing _ _ ok _ ok 96 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_escaped_characters.t <============ _ _ ✓ Basic passing _ ✓ Basic failure _ _ ok _ ok 90 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_implicit_newlines.t <============= _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Bad whitespace usage, but allowed _ _ ok _ ok 94 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_interpolation_of_literals.t <===== _ _ ✓ Basic failure _ ✓ Basic passing _ ✓ Code with all delimiters in configuration _ ✓ Code with not all delimiters in configuration _ ✓ Configuration with only delimiters, no operators _ ✓ Configuration with matching closing delimiters _ ✓ Disallow interpolation if string contains single quote _ ✓ Allow interpolation if string contains single quote, with option on. _ ✓ allow double quotes if called for. _ ✓ prohibit double quotes if not called for _ ✓ Disallow interpolation if string contains single quote w/reg_double_quote _ ✓ Allow interpolation if string contains single quote, with option on w/reg_double_quote _ ✓ allow double quotes if called for w/reg_double_quote _ ✓ prohibit double quotes if not called for w/reg_double_quote _ _ ok _ ok 116 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_leading_zeros.t <================= _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ chmod _ ✓ chmod with strict option _ ✓ dbmopen _ ✓ dbmopen with strict option _ ✓ mkdir _ ✓ mkdir with strict option _ ✓ sysopen _ ✓ sysopen with strict option _ ✓ umask _ ✓ umask with strict option _ _ ok _ ok 124 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_noisy_quotes.t <================== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ overload pragma _ ✓ Parentheses, braces, brackets _ _ ok _ ok 95 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_special_heredoc_terminator.t <==== _ _ ✓ Basic failures _ ✓ failures with quotes _ ✓ outside the scope of this policy _ _ ok _ ok 91 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/prohibit_version_strings.t <=============== _ _ ✓ Basic passing _ ✓ use failure _ ✓ require failure _ ✓ embedded comment - RT 44986 _ _ ok _ ok 92 ms _ _ [17:06:38] ==> t/Evaluate/ValuesAndExpressions/require_interpolation_of_metachars.t <===== _ _ ✓ Basic passing. _ ✓ Basic failure. _ ✓ Failure of simple scalar variables. _ ✓ Failure of simple array variables. _ ✓ Failure of common punctuation variables. _ ✓ Failure of @+ & @-. _ ✓ Failure of @^H. _ ✓ Readonly constant from Modules::ProhibitAutomaticExportation. _ ✓ OK to escape backslashes. _ ✓ OK to escape quotes. _ ✓ Valid escapes should not hide invalid ones. _ ✓ Sigil characters not looking like sigils. _ ✓ Do complain about RCS variables, if not turned on. _ ✓ Don't complain about RCS variables, if turned on. _ ✓ Don't complain about '${}' and '@{}' because they're invalid syntax. See RT \#38528/commit r3077 for original problem/solution. _ ✓ use vars arguments. _ ✓ Include statement failure. _ ✓ Confirm we flag all defined backslashed interpolations. RT \#61970 _ ✓ Confirm we ignore all non-special backslashed word characters. RT \#61970 _ _ ok _ ok 113 ms _ _ [17:06:39] ==> t/Evaluate/ValuesAndExpressions/require_number_separators.t <============== _ _ ✓ Basic passing _ ✓ Basic failure _ ✓ Below configuration minimum passing _ ✓ Above configuration minimum failure _ _ ok _ ok 97 ms _ _ [17:06:39] ==> t/Evaluate/ValuesAndExpressions/require_upper_case_heredoc_terminator.t <== _ _ ✓ Basic passing w/double quoted _ ✓ Basic passing w/single quoted _ ✓ Basic passing w/bare word _ ✓ Double quoted failure _ ✓ Single quoted failure _ ✓ Bareword failure _ ✓ RT \#27073: Spaces before HEREDOC token _ _ ok _ ok 95 ms _ _ [17:06:39] ==> t/Evaluate/Variables/prohibit_augumented_assignment_in_declaration.t <===== _ _ Normal assignment ok _ ✓ L18: is_deeply $violations, []; _ Normal assignment with operators ok _ ✓ L29: is_deeply $violations, []; _ real life regression _ ✓ L42: is_deeply $violations, []; _ scalar augumented assignment _ ✓ L117: is scalar @$violations, 60; _ real life examples _ ✓ L134: is scalar @$violations, 8; _ _ ok _ ok 91 ms _ _ [17:06:39] ==> t/Evaluate/Variables/prohibit_conditional_declarations.t <================= _ _ with if at post-position _ ✓ L22: is scalar @$violations, 4; _ with unless at post-position _ ✓ L35: is scalar @$violations, 4; _ with while at post-position _ ✓ L47: is scalar @$violations, 4; _ with for at post-position _ ✓ L59: is scalar @$violations, 4; _ with foreach at post-position _ ✓ L71: is scalar @$violations, 4; _ passing cases _ ✓ L92: is scalar @$violations, 0; _ local is exempt _ ✓ L108: is scalar @$violations, 0; _ _ ok _ ok 131 ms _ _ [17:06:39] ==> t/Evaluate/Variables/prohibit_local_vars.t <=============================== _ _ ✓ basics _ ✓ exceptions _ _ ok _ ok 92 ms _ _ [17:06:39] ==> t/Evaluate/Variables/prohibit_match_vars.t <=============================== _ _ ✓ Basic _ ✓ English with multiple args _ ✓ Ignore case handled by RequireNoMatchVarsWithUseEnglish _ ✓ no_match_vars _ _ ok _ ok 94 ms _ [17:06:39] _ All tests successful. _ Files=99, Tests=99, 10 wallclock secs ( 0.43 usr 0.19 sys + 8.11 cusr 1.34 csys = 10.07 CPU) _ Result: PASS _ 2014-07-28T17:06:39 [INFO] [RequireInterpolationOfMetachars] finished testing : 1 _ 2014-07-28T17:06:39 [INFO] [RequireInterpolationOfMetachars] sending result to server at http://127.0.0.1:15000 (status: 1)