In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/c1777a2078b09e46c508079c52cd1a83135a2fb6?hp=ac681bb324daa37001a1a03002e1d02efbaf7fcd>

- Log -----------------------------------------------------------------
commit c1777a2078b09e46c508079c52cd1a83135a2fb6
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri Nov 7 12:13:25 2014 +0000

    Update Test-Harness to CPAN version 3.34
    
      [DELTA]
    
    3.34    2014-11-02
            - Enable printing CPU times spent per test (Jarkko Hietaniemi)

M       Porting/Maintainers.pl
M       cpan/Test-Harness/lib/App/Prove.pm
M       cpan/Test-Harness/lib/App/Prove/State.pm
M       cpan/Test-Harness/lib/App/Prove/State/Result.pm
M       cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
M       cpan/Test-Harness/lib/TAP/Base.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Base.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Color.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Console.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
M       cpan/Test-Harness/lib/TAP/Formatter/File.pm
M       cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
M       cpan/Test-Harness/lib/TAP/Formatter/Session.pm
M       cpan/Test-Harness/lib/TAP/Harness.pm
M       cpan/Test-Harness/lib/TAP/Harness/Env.pm
M       cpan/Test-Harness/lib/TAP/Object.pm
M       cpan/Test-Harness/lib/TAP/Parser.pm
M       cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
M       cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
M       cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
M       cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
M       cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
M       cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
M       cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
M       cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
M       cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
M       cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
M       cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
M       cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
M       cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
M       cpan/Test-Harness/lib/TAP/Parser/Source.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
M       cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
M       cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
M       cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
M       cpan/Test-Harness/lib/Test/Harness.pm
M       cpan/Test-Harness/t/taint.t

commit 3709f1d4bd0179938a418d9337449fdf20a783bc
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri Nov 7 11:41:49 2014 +0000

    Update Test-Simple to CPAN version 1.001009

M       MANIFEST
M       Makefile.SH
M       Porting/Maintainers.pl
M       cpan/Test-Simple/lib/Test/Builder.pm
M       cpan/Test-Simple/lib/Test/Builder/Module.pm
M       cpan/Test-Simple/lib/Test/Builder/Tester.pm
M       cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
D       cpan/Test-Simple/lib/Test/FAQ.pod
M       cpan/Test-Simple/lib/Test/More.pm
D       cpan/Test-Simple/lib/Test/More/DeepCheck.pm
D       cpan/Test-Simple/lib/Test/More/DeepCheck/Strict.pm
D       cpan/Test-Simple/lib/Test/More/DeepCheck/Tolerant.pm
D       cpan/Test-Simple/lib/Test/More/Tools.pm
D       cpan/Test-Simple/lib/Test/MostlyLike.pm
M       cpan/Test-Simple/lib/Test/Simple.pm
D       cpan/Test-Simple/lib/Test/Stream.pm
D       cpan/Test-Simple/lib/Test/Stream/Architecture.pod
D       cpan/Test-Simple/lib/Test/Stream/ArrayBase.pm
D       cpan/Test-Simple/lib/Test/Stream/ArrayBase/Meta.pm
D       cpan/Test-Simple/lib/Test/Stream/Carp.pm
D       cpan/Test-Simple/lib/Test/Stream/Context.pm
D       cpan/Test-Simple/lib/Test/Stream/Event.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Bail.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Child.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Diag.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Finish.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Note.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Ok.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Plan.pm
D       cpan/Test-Simple/lib/Test/Stream/Event/Subtest.pm
D       cpan/Test-Simple/lib/Test/Stream/ExitMagic.pm
D       cpan/Test-Simple/lib/Test/Stream/ExitMagic/Context.pm
D       cpan/Test-Simple/lib/Test/Stream/Exporter.pm
D       cpan/Test-Simple/lib/Test/Stream/Exporter/Meta.pm
D       cpan/Test-Simple/lib/Test/Stream/IOSets.pm
D       cpan/Test-Simple/lib/Test/Stream/Meta.pm
D       cpan/Test-Simple/lib/Test/Stream/PackageUtil.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester/Checks.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester/Checks/Event.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester/Events.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester/Events/Event.pm
D       cpan/Test-Simple/lib/Test/Stream/Tester/Grab.pm
D       cpan/Test-Simple/lib/Test/Stream/Threads.pm
D       cpan/Test-Simple/lib/Test/Stream/Toolset.pm
D       cpan/Test-Simple/lib/Test/Stream/Util.pm
D       cpan/Test-Simple/lib/Test/Tester.pm
D       cpan/Test-Simple/lib/Test/Tester/Capture.pm
D       cpan/Test-Simple/lib/Test/Tutorial/WritingTests.pod
D       cpan/Test-Simple/lib/Test/Tutorial/WritingTools.pod
D       cpan/Test-Simple/lib/Test/use/ok.pm
D       cpan/Test-Simple/lib/ok.pm
A       cpan/Test-Simple/t/478-cmp_ok_hash.t
A       cpan/Test-Simple/t/BEGIN_require_ok.t
A       cpan/Test-Simple/t/BEGIN_use_ok.t
D       cpan/Test-Simple/t/Behavior/388-threadedsubtest.load
D       cpan/Test-Simple/t/Behavior/388-threadedsubtest.t
D       cpan/Test-Simple/t/Behavior/MonkeyPatching_diag.t
D       cpan/Test-Simple/t/Behavior/MonkeyPatching_done_testing.t
D       cpan/Test-Simple/t/Behavior/MonkeyPatching_note.t
D       cpan/Test-Simple/t/Behavior/MonkeyPatching_ok.t
D       cpan/Test-Simple/t/Behavior/MonkeyPatching_plan.t
D       cpan/Test-Simple/t/Behavior/Munge.t
D       cpan/Test-Simple/t/Behavior/NotTB15.t
D       cpan/Test-Simple/t/Behavior/Tester2_subtest.t
D       cpan/Test-Simple/t/Behavior/cmp_ok_xor.t
D       cpan/Test-Simple/t/Behavior/encoding_test.t
D       cpan/Test-Simple/t/Behavior/fork_new_end.t
D       cpan/Test-Simple/t/Behavior/skip_all_in_subtest.load
D       cpan/Test-Simple/t/Behavior/skip_all_in_subtest.t
D       cpan/Test-Simple/t/Behavior/threads_with_taint_mode.t
D       cpan/Test-Simple/t/Behavior/todo.t
A       cpan/Test-Simple/t/Builder/Builder.t
A       cpan/Test-Simple/t/Builder/carp.t
A       cpan/Test-Simple/t/Builder/create.t
A       cpan/Test-Simple/t/Builder/current_test.t
A       cpan/Test-Simple/t/Builder/current_test_without_plan.t
A       cpan/Test-Simple/t/Builder/details.t
A       cpan/Test-Simple/t/Builder/done_testing.t
A       cpan/Test-Simple/t/Builder/done_testing_double.t
A       cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t
A       cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t
A       cpan/Test-Simple/t/Builder/done_testing_with_number.t
A       cpan/Test-Simple/t/Builder/done_testing_with_plan.t
A       cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
A       cpan/Test-Simple/t/Builder/has_plan.t
A       cpan/Test-Simple/t/Builder/has_plan2.t
A       cpan/Test-Simple/t/Builder/is_fh.t
A       cpan/Test-Simple/t/Builder/is_passing.t
A       cpan/Test-Simple/t/Builder/maybe_regex.t
A       cpan/Test-Simple/t/Builder/no_diag.t
A       cpan/Test-Simple/t/Builder/no_ending.t
A       cpan/Test-Simple/t/Builder/no_header.t
A       cpan/Test-Simple/t/Builder/no_plan_at_all.t
A       cpan/Test-Simple/t/Builder/ok_obj.t
A       cpan/Test-Simple/t/Builder/output.t
A       cpan/Test-Simple/t/Builder/reset.t
A       cpan/Test-Simple/t/Builder/try.t
D       cpan/Test-Simple/t/Legacy/BEGIN_require_ok.t
D       cpan/Test-Simple/t/Legacy/BEGIN_use_ok.t
D       cpan/Test-Simple/t/Legacy/Builder/Builder.t
D       cpan/Test-Simple/t/Legacy/Builder/carp.t
D       cpan/Test-Simple/t/Legacy/Builder/create.t
D       cpan/Test-Simple/t/Legacy/Builder/current_test.t
D       cpan/Test-Simple/t/Legacy/Builder/current_test_without_plan.t
D       cpan/Test-Simple/t/Legacy/Builder/details.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing_with_no_plan.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing_with_number.t
D       cpan/Test-Simple/t/Legacy/Builder/done_testing_with_plan.t
D       cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t
D       cpan/Test-Simple/t/Legacy/Builder/has_plan.t
D       cpan/Test-Simple/t/Legacy/Builder/has_plan2.t
D       cpan/Test-Simple/t/Legacy/Builder/is_fh.t
D       cpan/Test-Simple/t/Legacy/Builder/is_passing.t
D       cpan/Test-Simple/t/Legacy/Builder/maybe_regex.t
D       cpan/Test-Simple/t/Legacy/Builder/no_diag.t
D       cpan/Test-Simple/t/Legacy/Builder/no_ending.t
D       cpan/Test-Simple/t/Legacy/Builder/no_header.t
D       cpan/Test-Simple/t/Legacy/Builder/no_plan_at_all.t
D       cpan/Test-Simple/t/Legacy/Builder/ok_obj.t
D       cpan/Test-Simple/t/Legacy/Builder/output.t
D       cpan/Test-Simple/t/Legacy/Builder/reset.t
D       cpan/Test-Simple/t/Legacy/Builder/reset_outputs.t
D       cpan/Test-Simple/t/Legacy/More.t
D       cpan/Test-Simple/t/Legacy/PerlIO.t
D       cpan/Test-Simple/t/Legacy/Simple/load.t
D       cpan/Test-Simple/t/Legacy/TestTester/auto.t
D       cpan/Test-Simple/t/Legacy/TestTester/check_tests.t
D       cpan/Test-Simple/t/Legacy/TestTester/depth.t
D       cpan/Test-Simple/t/Legacy/TestTester/is_bug.t
D       cpan/Test-Simple/t/Legacy/TestTester/run_test.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_01basic.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_02fhrestore.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_03die.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_04line_num.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_05faildiag.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_06errormess.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_07args.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t
D       cpan/Test-Simple/t/Legacy/Tester/tbt_09do_script.pl
D       cpan/Test-Simple/t/Legacy/bad_plan.t
D       cpan/Test-Simple/t/Legacy/bail_out.t
D       cpan/Test-Simple/t/Legacy/buffer.t
D       cpan/Test-Simple/t/Legacy/c_flag.t
D       cpan/Test-Simple/t/Legacy/circular_data.t
D       cpan/Test-Simple/t/Legacy/cmp_ok.t
D       cpan/Test-Simple/t/Legacy/dependents.t
D       cpan/Test-Simple/t/Legacy/diag.t
D       cpan/Test-Simple/t/Legacy/died.t
D       cpan/Test-Simple/t/Legacy/dont_overwrite_die_handler.t
D       cpan/Test-Simple/t/Legacy/eq_set.t
D       cpan/Test-Simple/t/Legacy/exit.t
D       cpan/Test-Simple/t/Legacy/explain.t
D       cpan/Test-Simple/t/Legacy/extra.t
D       cpan/Test-Simple/t/Legacy/extra_one.t
D       cpan/Test-Simple/t/Legacy/fail-like.t
D       cpan/Test-Simple/t/Legacy/fail-more.t
D       cpan/Test-Simple/t/Legacy/fail.t
D       cpan/Test-Simple/t/Legacy/fail_one.t
D       cpan/Test-Simple/t/Legacy/filehandles.t
D       cpan/Test-Simple/t/Legacy/fork.t
D       cpan/Test-Simple/t/Legacy/fork_in_subtest.t
D       cpan/Test-Simple/t/Legacy/harness_active.t
D       cpan/Test-Simple/t/Legacy/import.t
D       cpan/Test-Simple/t/Legacy/is_deeply_dne_bug.t
D       cpan/Test-Simple/t/Legacy/is_deeply_fail.t
D       cpan/Test-Simple/t/Legacy/is_deeply_with_threads.t
D       cpan/Test-Simple/t/Legacy/missing.t
D       cpan/Test-Simple/t/Legacy/new_ok.t
D       cpan/Test-Simple/t/Legacy/no_plan.t
D       cpan/Test-Simple/t/Legacy/no_tests.t
D       cpan/Test-Simple/t/Legacy/note.t
D       cpan/Test-Simple/t/Legacy/overload.t
D       cpan/Test-Simple/t/Legacy/overload_threads.t
D       cpan/Test-Simple/t/Legacy/plan.t
D       cpan/Test-Simple/t/Legacy/plan_bad.t
D       cpan/Test-Simple/t/Legacy/plan_is_noplan.t
D       cpan/Test-Simple/t/Legacy/plan_no_plan.t
D       cpan/Test-Simple/t/Legacy/plan_shouldnt_import.t
D       cpan/Test-Simple/t/Legacy/plan_skip_all.t
D       cpan/Test-Simple/t/Legacy/pod.t
D       cpan/Test-Simple/t/Legacy/require_ok.t
D       cpan/Test-Simple/t/Legacy/ribasushi_diag.t
D       cpan/Test-Simple/t/Legacy/ribasushi_threads.t
D       cpan/Test-Simple/t/Legacy/ribasushi_threads2.t
D       cpan/Test-Simple/t/Legacy/simple.t
D       cpan/Test-Simple/t/Legacy/skip.t
D       cpan/Test-Simple/t/Legacy/skipall.t
D       cpan/Test-Simple/t/Legacy/strays.t
D       cpan/Test-Simple/t/Legacy/subtest/args.t
D       cpan/Test-Simple/t/Legacy/subtest/bail_out.t
D       cpan/Test-Simple/t/Legacy/subtest/basic.t
D       cpan/Test-Simple/t/Legacy/subtest/die.t
D       cpan/Test-Simple/t/Legacy/subtest/do.t
D       cpan/Test-Simple/t/Legacy/subtest/exceptions.t
D       cpan/Test-Simple/t/Legacy/subtest/for_do_t.test
D       cpan/Test-Simple/t/Legacy/subtest/fork.t
D       cpan/Test-Simple/t/Legacy/subtest/implicit_done.t
D       cpan/Test-Simple/t/Legacy/subtest/line_numbers.t
D       cpan/Test-Simple/t/Legacy/subtest/plan.t
D       cpan/Test-Simple/t/Legacy/subtest/predicate.t
D       cpan/Test-Simple/t/Legacy/subtest/singleton.t
D       cpan/Test-Simple/t/Legacy/subtest/threads.t
D       cpan/Test-Simple/t/Legacy/subtest/todo.t
D       cpan/Test-Simple/t/Legacy/subtest/wstat.t
D       cpan/Test-Simple/t/Legacy/tbm_doesnt_set_exported_to.t
D       cpan/Test-Simple/t/Legacy/test_use_ok.t
D       cpan/Test-Simple/t/Legacy/thread_taint.t
D       cpan/Test-Simple/t/Legacy/threads.t
D       cpan/Test-Simple/t/Legacy/todo.t
D       cpan/Test-Simple/t/Legacy/undef.t
D       cpan/Test-Simple/t/Legacy/use_ok.t
D       cpan/Test-Simple/t/Legacy/useing.t
D       cpan/Test-Simple/t/Legacy/utf8.t
D       cpan/Test-Simple/t/Legacy/versions.t
A       cpan/Test-Simple/t/More.t
A       cpan/Test-Simple/t/Simple/load.t
D       cpan/Test-Simple/t/Test-Builder.t
D       cpan/Test-Simple/t/Test-More-DeepCheck.t
D       cpan/Test-Simple/t/Test-More.t
D       cpan/Test-Simple/t/Test-MostlyLike.t
D       cpan/Test-Simple/t/Test-Simple.t
D       cpan/Test-Simple/t/Test-Stream-ArrayBase-Meta.t
D       cpan/Test-Simple/t/Test-Stream-ArrayBase.t
D       cpan/Test-Simple/t/Test-Stream-Carp.t
D       cpan/Test-Simple/t/Test-Stream-Event-Diag.t
D       cpan/Test-Simple/t/Test-Stream-Event-Finish.t
D       cpan/Test-Simple/t/Test-Stream-Event-Note.t
D       cpan/Test-Simple/t/Test-Stream-Event.t
D       cpan/Test-Simple/t/Test-Stream-ExitMagic-Context.t
D       cpan/Test-Simple/t/Test-Stream-Exporter-Meta.t
D       cpan/Test-Simple/t/Test-Stream-Exporter.t
D       cpan/Test-Simple/t/Test-Stream-IOSets.t
D       cpan/Test-Simple/t/Test-Stream-Meta.t
D       cpan/Test-Simple/t/Test-Stream-PackageUtil.t
D       cpan/Test-Simple/t/Test-Stream-Tester-Grab.t
D       cpan/Test-Simple/t/Test-Stream-Tester.t
D       cpan/Test-Simple/t/Test-Stream-Toolset.t
D       cpan/Test-Simple/t/Test-Stream-Util.t
D       cpan/Test-Simple/t/Test-Tester-Capture.t
D       cpan/Test-Simple/t/Test-Tester.t
D       cpan/Test-Simple/t/Test-use-ok.t
A       cpan/Test-Simple/t/Tester/tbt_01basic.t
A       cpan/Test-Simple/t/Tester/tbt_02fhrestore.t
A       cpan/Test-Simple/t/Tester/tbt_03die.t
A       cpan/Test-Simple/t/Tester/tbt_04line_num.t
A       cpan/Test-Simple/t/Tester/tbt_05faildiag.t
A       cpan/Test-Simple/t/Tester/tbt_06errormess.t
A       cpan/Test-Simple/t/Tester/tbt_07args.t
A       cpan/Test-Simple/t/Tester/tbt_08subtest.t
A       cpan/Test-Simple/t/Tester/tbt_09do.t
A       cpan/Test-Simple/t/Tester/tbt_09do_script.pl
A       cpan/Test-Simple/t/bad_plan.t
A       cpan/Test-Simple/t/bail_out.t
A       cpan/Test-Simple/t/buffer.t
A       cpan/Test-Simple/t/c_flag.t
A       cpan/Test-Simple/t/circular_data.t
A       cpan/Test-Simple/t/cmp_ok.t
A       cpan/Test-Simple/t/dependents.t
A       cpan/Test-Simple/t/diag.t
A       cpan/Test-Simple/t/died.t
A       cpan/Test-Simple/t/dont_overwrite_die_handler.t
A       cpan/Test-Simple/t/eq_set.t
A       cpan/Test-Simple/t/exit.t
A       cpan/Test-Simple/t/explain.t
A       cpan/Test-Simple/t/extra.t
A       cpan/Test-Simple/t/extra_one.t
A       cpan/Test-Simple/t/fail-like.t
A       cpan/Test-Simple/t/fail-more.t
A       cpan/Test-Simple/t/fail.t
A       cpan/Test-Simple/t/fail_one.t
A       cpan/Test-Simple/t/filehandles.t
A       cpan/Test-Simple/t/fork.t
A       cpan/Test-Simple/t/harness_active.t
A       cpan/Test-Simple/t/import.t
A       cpan/Test-Simple/t/is_deeply_dne_bug.t
A       cpan/Test-Simple/t/is_deeply_fail.t
A       cpan/Test-Simple/t/is_deeply_with_threads.t
D       cpan/Test-Simple/t/lib/MyTest.pm
D       cpan/Test-Simple/t/lib/SmallTest.pm
A       cpan/Test-Simple/t/missing.t
A       cpan/Test-Simple/t/new_ok.t
A       cpan/Test-Simple/t/no_plan.t
A       cpan/Test-Simple/t/no_tests.t
A       cpan/Test-Simple/t/note.t
A       cpan/Test-Simple/t/overload.t
A       cpan/Test-Simple/t/overload_threads.t
A       cpan/Test-Simple/t/plan.t
A       cpan/Test-Simple/t/plan_bad.t
A       cpan/Test-Simple/t/plan_is_noplan.t
A       cpan/Test-Simple/t/plan_no_plan.t
A       cpan/Test-Simple/t/plan_shouldnt_import.t
A       cpan/Test-Simple/t/plan_skip_all.t
A       cpan/Test-Simple/t/require_ok.t
A       cpan/Test-Simple/t/simple.t
A       cpan/Test-Simple/t/skip.t
A       cpan/Test-Simple/t/skipall.t
A       cpan/Test-Simple/t/subtest/args.t
A       cpan/Test-Simple/t/subtest/bail_out.t
A       cpan/Test-Simple/t/subtest/basic.t
A       cpan/Test-Simple/t/subtest/die.t
A       cpan/Test-Simple/t/subtest/do.t
A       cpan/Test-Simple/t/subtest/exceptions.t
A       cpan/Test-Simple/t/subtest/for_do_t.test
A       cpan/Test-Simple/t/subtest/fork.t
A       cpan/Test-Simple/t/subtest/implicit_done.t
A       cpan/Test-Simple/t/subtest/line_numbers.t
A       cpan/Test-Simple/t/subtest/plan.t
A       cpan/Test-Simple/t/subtest/predicate.t
A       cpan/Test-Simple/t/subtest/singleton.t
A       cpan/Test-Simple/t/subtest/threads.t
A       cpan/Test-Simple/t/subtest/todo.t
A       cpan/Test-Simple/t/subtest/wstat.t
A       cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t
A       cpan/Test-Simple/t/thread_taint.t
A       cpan/Test-Simple/t/threads.t
A       cpan/Test-Simple/t/todo.t
A       cpan/Test-Simple/t/undef.t
A       cpan/Test-Simple/t/use_ok.t
A       cpan/Test-Simple/t/useing.t
A       cpan/Test-Simple/t/utf8.t
A       cpan/Test-Simple/t/versions.t
M       lib/.gitignore

commit 44f85850d172082a150f79f5a9bdcfe9d9c59d84
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri Nov 7 11:37:34 2014 +0000

    Update Encode to CPAN version 2.64
    
      [DELTA]
    
    $Revision: 2.64 $ $Date: 2014/10/29 15:37:54 $
    ! t/utf8warnings.t MANIFEST
      Retouch pull #26 so it works with perl < 5.14
    ! Encode.pm
    + t/utf8warnings.t
      Pulled: Catch and re-issue utf8 warnings at a higher level
      https://github.com/dankogai/p5-encode/pull/26
    + Encode.xs
      Pulled: Validate continuations in the incremental UTF-X decoder
      https://github.com/dankogai/p5-encode/pull/25

M       MANIFEST
M       Porting/Maintainers.pl
M       cpan/Encode/Encode.pm
M       cpan/Encode/Encode.xs
A       cpan/Encode/t/utf8warnings.t
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                           |  318 +-
 Makefile.SH                                        |   35 +-
 Porting/Maintainers.pl                             |    7 +-
 cpan/Encode/Encode.pm                              |   34 +-
 cpan/Encode/Encode.xs                              |   12 +-
 cpan/Encode/t/utf8warnings.t                       |   66 +
 cpan/Test-Harness/lib/App/Prove.pm                 |    4 +-
 cpan/Test-Harness/lib/App/Prove/State.pm           |    4 +-
 cpan/Test-Harness/lib/App/Prove/State/Result.pm    |    4 +-
 .../lib/App/Prove/State/Result/Test.pm             |    4 +-
 cpan/Test-Harness/lib/TAP/Base.pm                  |   13 +-
 cpan/Test-Harness/lib/TAP/Formatter/Base.pm        |    4 +-
 cpan/Test-Harness/lib/TAP/Formatter/Color.pm       |    4 +-
 cpan/Test-Harness/lib/TAP/Formatter/Console.pm     |    4 +-
 .../lib/TAP/Formatter/Console/ParallelSession.pm   |    4 +-
 .../lib/TAP/Formatter/Console/Session.pm           |   18 +-
 cpan/Test-Harness/lib/TAP/Formatter/File.pm        |    4 +-
 .../Test-Harness/lib/TAP/Formatter/File/Session.pm |   18 +-
 cpan/Test-Harness/lib/TAP/Formatter/Session.pm     |   38 +-
 cpan/Test-Harness/lib/TAP/Harness.pm               |    4 +-
 cpan/Test-Harness/lib/TAP/Harness/Env.pm           |    4 +-
 cpan/Test-Harness/lib/TAP/Object.pm                |    4 +-
 cpan/Test-Harness/lib/TAP/Parser.pm                |   21 +-
 cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm     |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Grammar.pm        |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Iterator.pm       |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm |    4 +-
 .../lib/TAP/Parser/Iterator/Process.pm             |    4 +-
 .../Test-Harness/lib/TAP/Parser/Iterator/Stream.pm |    4 +-
 .../Test-Harness/lib/TAP/Parser/IteratorFactory.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm    |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result.pm         |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm    |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm  |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm    |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm    |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm  |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm      |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm  |    4 +-
 .../lib/TAP/Parser/Scheduler/Spinner.pm            |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/Source.pm         |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm  |    4 +-
 .../lib/TAP/Parser/SourceHandler/Executable.pm     |    4 +-
 .../lib/TAP/Parser/SourceHandler/File.pm           |    4 +-
 .../lib/TAP/Parser/SourceHandler/Handle.pm         |    4 +-
 .../lib/TAP/Parser/SourceHandler/Perl.pm           |    4 +-
 .../lib/TAP/Parser/SourceHandler/RawTAP.pm         |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm |    4 +-
 cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm |    4 +-
 cpan/Test-Harness/lib/Test/Harness.pm              |    4 +-
 cpan/Test-Harness/t/taint.t                        |    2 +-
 cpan/Test-Simple/lib/Test/Builder.pm               | 3060 ++++++++++++++------
 cpan/Test-Simple/lib/Test/Builder/Module.pm        |  129 +-
 cpan/Test-Simple/lib/Test/Builder/Tester.pm        |  238 +-
 cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm  |  106 +-
 cpan/Test-Simple/lib/Test/FAQ.pod                  |  477 ---
 cpan/Test-Simple/lib/Test/More.pm                  | 1603 +++++-----
 cpan/Test-Simple/lib/Test/More/DeepCheck.pm        |  223 --
 cpan/Test-Simple/lib/Test/More/DeepCheck/Strict.pm |  328 ---
 .../lib/Test/More/DeepCheck/Tolerant.pm            |  330 ---
 cpan/Test-Simple/lib/Test/More/Tools.pm            |  540 ----
 cpan/Test-Simple/lib/Test/MostlyLike.pm            |  292 --
 cpan/Test-Simple/lib/Test/Simple.pm                |  155 +-
 cpan/Test-Simple/lib/Test/Stream.pm                | 1101 -------
 cpan/Test-Simple/lib/Test/Stream/Architecture.pod  |  444 ---
 cpan/Test-Simple/lib/Test/Stream/ArrayBase.pm      |  371 ---
 cpan/Test-Simple/lib/Test/Stream/ArrayBase/Meta.pm |  282 --
 cpan/Test-Simple/lib/Test/Stream/Carp.pm           |  142 -
 cpan/Test-Simple/lib/Test/Stream/Context.pm        |  635 ----
 cpan/Test-Simple/lib/Test/Stream/Event.pm          |  400 ---
 cpan/Test-Simple/lib/Test/Stream/Event/Bail.pm     |  182 --
 cpan/Test-Simple/lib/Test/Stream/Event/Child.pm    |  144 -
 cpan/Test-Simple/lib/Test/Stream/Event/Diag.pm     |  198 --
 cpan/Test-Simple/lib/Test/Stream/Event/Finish.pm   |  127 -
 cpan/Test-Simple/lib/Test/Stream/Event/Note.pm     |  169 --
 cpan/Test-Simple/lib/Test/Stream/Event/Ok.pm       |  386 ---
 cpan/Test-Simple/lib/Test/Stream/Event/Plan.pm     |  219 --
 cpan/Test-Simple/lib/Test/Stream/Event/Subtest.pm  |  273 --
 cpan/Test-Simple/lib/Test/Stream/ExitMagic.pm      |  259 --
 .../lib/Test/Stream/ExitMagic/Context.pm           |  131 -
 cpan/Test-Simple/lib/Test/Stream/Exporter.pm       |  327 ---
 cpan/Test-Simple/lib/Test/Stream/Exporter/Meta.pm  |  216 --
 cpan/Test-Simple/lib/Test/Stream/IOSets.pm         |  243 --
 cpan/Test-Simple/lib/Test/Stream/Meta.pm           |  202 --
 cpan/Test-Simple/lib/Test/Stream/PackageUtil.pm    |  188 --
 cpan/Test-Simple/lib/Test/Stream/Tester.pm         |  725 -----
 cpan/Test-Simple/lib/Test/Stream/Tester/Checks.pm  |  401 ---
 .../lib/Test/Stream/Tester/Checks/Event.pm         |  194 --
 cpan/Test-Simple/lib/Test/Stream/Tester/Events.pm  |  166 --
 .../lib/Test/Stream/Tester/Events/Event.pm         |  199 --
 cpan/Test-Simple/lib/Test/Stream/Tester/Grab.pm    |  215 --
 cpan/Test-Simple/lib/Test/Stream/Threads.pm        |  163 --
 cpan/Test-Simple/lib/Test/Stream/Toolset.pm        |  350 ---
 cpan/Test-Simple/lib/Test/Stream/Util.pm           |  331 ---
 cpan/Test-Simple/lib/Test/Tester.pm                |  770 -----
 cpan/Test-Simple/lib/Test/Tester/Capture.pm        |  159 -
 .../Test-Simple/lib/Test/Tutorial/WritingTests.pod |  198 --
 .../Test-Simple/lib/Test/Tutorial/WritingTools.pod |  295 --
 cpan/Test-Simple/lib/Test/use/ok.pm                |  152 -
 cpan/Test-Simple/lib/ok.pm                         |  143 -
 cpan/Test-Simple/t/478-cmp_ok_hash.t               |   41 +
 cpan/Test-Simple/t/{Legacy => }/BEGIN_require_ok.t |    0
 cpan/Test-Simple/t/{Legacy => }/BEGIN_use_ok.t     |    0
 .../t/Behavior/388-threadedsubtest.load            |    3 -
 cpan/Test-Simple/t/Behavior/388-threadedsubtest.t  |   38 -
 cpan/Test-Simple/t/Behavior/MonkeyPatching_diag.t  |   97 -
 .../t/Behavior/MonkeyPatching_done_testing.t       |   61 -
 cpan/Test-Simple/t/Behavior/MonkeyPatching_note.t  |   97 -
 cpan/Test-Simple/t/Behavior/MonkeyPatching_ok.t    |  108 -
 cpan/Test-Simple/t/Behavior/MonkeyPatching_plan.t  |   86 -
 cpan/Test-Simple/t/Behavior/Munge.t                |   30 -
 cpan/Test-Simple/t/Behavior/NotTB15.t              |   48 -
 cpan/Test-Simple/t/Behavior/Tester2_subtest.t      |   69 -
 cpan/Test-Simple/t/Behavior/cmp_ok_xor.t           |   13 -
 cpan/Test-Simple/t/Behavior/encoding_test.t        |   35 -
 cpan/Test-Simple/t/Behavior/fork_new_end.t         |   53 -
 .../t/Behavior/skip_all_in_subtest.load            |   10 -
 cpan/Test-Simple/t/Behavior/skip_all_in_subtest.t  |   16 -
 .../t/Behavior/threads_with_taint_mode.t           |   47 -
 cpan/Test-Simple/t/Behavior/todo.t                 |   43 -
 cpan/Test-Simple/t/{Legacy => }/Builder/Builder.t  |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/carp.t     |    9 +-
 cpan/Test-Simple/t/{Legacy => }/Builder/create.t   |    0
 .../t/{Legacy => }/Builder/current_test.t          |    0
 .../Builder/current_test_without_plan.t            |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/details.t  |    0
 .../t/{Legacy => }/Builder/done_testing.t          |    0
 .../t/{Legacy => }/Builder/done_testing_double.t   |    0
 .../Builder/done_testing_plan_mismatch.t           |    0
 .../Builder/done_testing_with_no_plan.t            |    0
 .../Builder/done_testing_with_number.t             |    0
 .../{Legacy => }/Builder/done_testing_with_plan.t  |    2 +-
 cpan/Test-Simple/t/Builder/fork_with_new_stdout.t  |   54 +
 cpan/Test-Simple/t/{Legacy => }/Builder/has_plan.t |    0
 .../Test-Simple/t/{Legacy => }/Builder/has_plan2.t |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/is_fh.t    |    2 +-
 .../t/{Legacy => }/Builder/is_passing.t            |    0
 .../t/{Legacy => }/Builder/maybe_regex.t           |    2 +-
 cpan/Test-Simple/t/{Legacy => }/Builder/no_diag.t  |    0
 .../Test-Simple/t/{Legacy => }/Builder/no_ending.t |    0
 .../Test-Simple/t/{Legacy => }/Builder/no_header.t |    0
 .../t/{Legacy => }/Builder/no_plan_at_all.t        |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/ok_obj.t   |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/output.t   |    0
 cpan/Test-Simple/t/{Legacy => }/Builder/reset.t    |    3 +
 cpan/Test-Simple/t/Builder/try.t                   |   42 +
 .../t/Legacy/Builder/fork_with_new_stdout.t        |   60 -
 cpan/Test-Simple/t/Legacy/Builder/reset_outputs.t  |   35 -
 cpan/Test-Simple/t/Legacy/PerlIO.t                 |   11 -
 cpan/Test-Simple/t/Legacy/TestTester/auto.t        |   32 -
 cpan/Test-Simple/t/Legacy/TestTester/check_tests.t |  116 -
 cpan/Test-Simple/t/Legacy/TestTester/depth.t       |   39 -
 cpan/Test-Simple/t/Legacy/TestTester/is_bug.t      |   31 -
 cpan/Test-Simple/t/Legacy/TestTester/run_test.t    |  145 -
 cpan/Test-Simple/t/Legacy/fork_in_subtest.t        |   45 -
 cpan/Test-Simple/t/Legacy/pod.t                    |    7 -
 cpan/Test-Simple/t/Legacy/ribasushi_diag.t         |   59 -
 cpan/Test-Simple/t/Legacy/ribasushi_threads.t      |   77 -
 cpan/Test-Simple/t/Legacy/ribasushi_threads2.t     |   51 -
 cpan/Test-Simple/t/Legacy/strays.t                 |   27 -
 cpan/Test-Simple/t/Legacy/test_use_ok.t            |   40 -
 cpan/Test-Simple/t/Legacy/threads.t                |   47 -
 cpan/Test-Simple/t/Legacy/versions.t               |   50 -
 cpan/Test-Simple/t/{Legacy => }/More.t             |    7 +-
 cpan/Test-Simple/t/{Legacy => }/Simple/load.t      |    0
 cpan/Test-Simple/t/Test-Builder.t                  |   10 -
 cpan/Test-Simple/t/Test-More-DeepCheck.t           |    7 -
 cpan/Test-Simple/t/Test-More.t                     |   29 -
 cpan/Test-Simple/t/Test-MostlyLike.t               |  159 -
 cpan/Test-Simple/t/Test-Simple.t                   |   24 -
 cpan/Test-Simple/t/Test-Stream-ArrayBase-Meta.t    |   10 -
 cpan/Test-Simple/t/Test-Stream-ArrayBase.t         |   97 -
 cpan/Test-Simple/t/Test-Stream-Carp.t              |   53 -
 cpan/Test-Simple/t/Test-Stream-Event-Diag.t        |   24 -
 cpan/Test-Simple/t/Test-Stream-Event-Finish.t      |    7 -
 cpan/Test-Simple/t/Test-Stream-Event-Note.t        |   19 -
 cpan/Test-Simple/t/Test-Stream-Event.t             |   30 -
 cpan/Test-Simple/t/Test-Stream-ExitMagic-Context.t |    8 -
 cpan/Test-Simple/t/Test-Stream-Exporter-Meta.t     |    9 -
 cpan/Test-Simple/t/Test-Stream-Exporter.t          |  130 -
 cpan/Test-Simple/t/Test-Stream-IOSets.t            |   31 -
 cpan/Test-Simple/t/Test-Stream-Meta.t              |   16 -
 cpan/Test-Simple/t/Test-Stream-PackageUtil.t       |   38 -
 cpan/Test-Simple/t/Test-Stream-Tester-Grab.t       |   11 -
 cpan/Test-Simple/t/Test-Stream-Tester.t            |  140 -
 cpan/Test-Simple/t/Test-Stream-Toolset.t           |   11 -
 cpan/Test-Simple/t/Test-Stream-Util.t              |   45 -
 cpan/Test-Simple/t/Test-Tester-Capture.t           |    9 -
 cpan/Test-Simple/t/Test-Tester.t                   |    9 -
 cpan/Test-Simple/t/Test-use-ok.t                   |   25 -
 .../t/{Legacy => }/Tester/tbt_01basic.t            |    2 +-
 .../t/{Legacy => }/Tester/tbt_02fhrestore.t        |    4 +-
 cpan/Test-Simple/t/{Legacy => }/Tester/tbt_03die.t |    0
 .../t/{Legacy => }/Tester/tbt_04line_num.t         |    0
 .../t/{Legacy => }/Tester/tbt_05faildiag.t         |    0
 .../t/{Legacy => }/Tester/tbt_06errormess.t        |    2 +-
 .../Test-Simple/t/{Legacy => }/Tester/tbt_07args.t |    2 +-
 .../t/{Legacy => }/Tester/tbt_08subtest.t          |    0
 cpan/Test-Simple/t/{Legacy => }/Tester/tbt_09do.t  |    0
 .../t/{Legacy => }/Tester/tbt_09do_script.pl       |    0
 cpan/Test-Simple/t/{Legacy => }/bad_plan.t         |    0
 cpan/Test-Simple/t/{Legacy => }/bail_out.t         |    0
 cpan/Test-Simple/t/{Legacy => }/buffer.t           |    0
 cpan/Test-Simple/t/{Legacy => }/c_flag.t           |    0
 cpan/Test-Simple/t/{Legacy => }/circular_data.t    |    2 +-
 cpan/Test-Simple/t/{Legacy => }/cmp_ok.t           |    4 +-
 cpan/Test-Simple/t/{Legacy => }/dependents.t       |    0
 cpan/Test-Simple/t/{Legacy => }/diag.t             |    0
 cpan/Test-Simple/t/{Legacy => }/died.t             |    0
 .../t/{Legacy => }/dont_overwrite_die_handler.t    |    1 -
 cpan/Test-Simple/t/{Legacy => }/eq_set.t           |    2 +-
 cpan/Test-Simple/t/{Legacy => }/exit.t             |    9 +-
 cpan/Test-Simple/t/{Legacy => }/explain.t          |    0
 cpan/Test-Simple/t/{Legacy => }/extra.t            |   11 +-
 cpan/Test-Simple/t/{Legacy => }/extra_one.t        |    0
 cpan/Test-Simple/t/{Legacy => }/fail-like.t        |    8 +-
 cpan/Test-Simple/t/{Legacy => }/fail-more.t        |   15 +-
 cpan/Test-Simple/t/{Legacy => }/fail.t             |    0
 cpan/Test-Simple/t/{Legacy => }/fail_one.t         |    0
 cpan/Test-Simple/t/{Legacy => }/filehandles.t      |    0
 cpan/Test-Simple/t/{Legacy => }/fork.t             |    9 +-
 cpan/Test-Simple/t/{Legacy => }/harness_active.t   |    2 +-
 cpan/Test-Simple/t/{Legacy => }/import.t           |    0
 .../Test-Simple/t/{Legacy => }/is_deeply_dne_bug.t |    0
 cpan/Test-Simple/t/{Legacy => }/is_deeply_fail.t   |    4 +-
 .../t/{Legacy => }/is_deeply_with_threads.t        |   17 +-
 cpan/Test-Simple/t/lib/MyTest.pm                   |   15 -
 cpan/Test-Simple/t/lib/SmallTest.pm                |   35 -
 cpan/Test-Simple/t/{Legacy => }/missing.t          |    0
 cpan/Test-Simple/t/{Legacy => }/new_ok.t           |    4 +-
 cpan/Test-Simple/t/{Legacy => }/no_plan.t          |    0
 cpan/Test-Simple/t/{Legacy => }/no_tests.t         |    0
 cpan/Test-Simple/t/{Legacy => }/note.t             |    0
 cpan/Test-Simple/t/{Legacy => }/overload.t         |    2 +-
 cpan/Test-Simple/t/{Legacy => }/overload_threads.t |    0
 cpan/Test-Simple/t/{Legacy => }/plan.t             |    4 +-
 cpan/Test-Simple/t/{Legacy => }/plan_bad.t         |    0
 cpan/Test-Simple/t/{Legacy => }/plan_is_noplan.t   |    0
 cpan/Test-Simple/t/{Legacy => }/plan_no_plan.t     |    4 -
 .../t/{Legacy => }/plan_shouldnt_import.t          |    0
 cpan/Test-Simple/t/{Legacy => }/plan_skip_all.t    |    0
 cpan/Test-Simple/t/{Legacy => }/require_ok.t       |    9 +-
 cpan/Test-Simple/t/{Legacy => }/simple.t           |    0
 cpan/Test-Simple/t/{Legacy => }/skip.t             |   14 +-
 cpan/Test-Simple/t/{Legacy => }/skipall.t          |    2 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/args.t     |    1 -
 cpan/Test-Simple/t/{Legacy => }/subtest/bail_out.t |   29 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/basic.t    |   11 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/die.t      |    0
 cpan/Test-Simple/t/{Legacy => }/subtest/do.t       |    2 +-
 .../t/{Legacy => }/subtest/exceptions.t            |   10 +-
 .../t/{Legacy => }/subtest/for_do_t.test           |    0
 cpan/Test-Simple/t/{Legacy => }/subtest/fork.t     |   15 +-
 .../t/{Legacy => }/subtest/implicit_done.t         |    0
 .../t/{Legacy => }/subtest/line_numbers.t          |   21 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/plan.t     |    0
 .../Test-Simple/t/{Legacy => }/subtest/predicate.t |   12 +-
 .../Test-Simple/t/{Legacy => }/subtest/singleton.t |    0
 cpan/Test-Simple/t/{Legacy => }/subtest/threads.t  |    4 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/todo.t     |   24 +-
 cpan/Test-Simple/t/{Legacy => }/subtest/wstat.t    |    0
 .../t/{Legacy => }/tbm_doesnt_set_exported_to.t    |    2 +-
 cpan/Test-Simple/t/{Legacy => }/thread_taint.t     |    0
 cpan/Test-Simple/t/threads.t                       |   33 +
 cpan/Test-Simple/t/{Legacy => }/todo.t             |   14 +-
 cpan/Test-Simple/t/{Legacy => }/undef.t            |   13 +-
 cpan/Test-Simple/t/{Legacy => }/use_ok.t           |    0
 cpan/Test-Simple/t/{Legacy => }/useing.t           |    0
 cpan/Test-Simple/t/{Legacy => }/utf8.t             |    6 +-
 cpan/Test-Simple/t/versions.t                      |   28 +
 lib/.gitignore                                     |    1 -
 275 files changed, 3925 insertions(+), 18658 deletions(-)
 create mode 100644 cpan/Encode/t/utf8warnings.t
 delete mode 100644 cpan/Test-Simple/lib/Test/FAQ.pod
 delete mode 100644 cpan/Test-Simple/lib/Test/More/DeepCheck.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/More/DeepCheck/Strict.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/More/DeepCheck/Tolerant.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/More/Tools.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/MostlyLike.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Architecture.pod
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/ArrayBase.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/ArrayBase/Meta.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Carp.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Context.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Bail.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Child.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Diag.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Finish.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Note.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Ok.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Plan.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Event/Subtest.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/ExitMagic.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/ExitMagic/Context.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Exporter.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Exporter/Meta.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/IOSets.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Meta.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/PackageUtil.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester/Checks.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester/Checks/Event.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester/Events.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester/Events/Event.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Tester/Grab.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Threads.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Toolset.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Stream/Util.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Tester.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Tester/Capture.pm
 delete mode 100644 cpan/Test-Simple/lib/Test/Tutorial/WritingTests.pod
 delete mode 100644 cpan/Test-Simple/lib/Test/Tutorial/WritingTools.pod
 delete mode 100644 cpan/Test-Simple/lib/Test/use/ok.pm
 delete mode 100644 cpan/Test-Simple/lib/ok.pm
 create mode 100644 cpan/Test-Simple/t/478-cmp_ok_hash.t
 rename cpan/Test-Simple/t/{Legacy => }/BEGIN_require_ok.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/BEGIN_use_ok.t (100%)
 delete mode 100644 cpan/Test-Simple/t/Behavior/388-threadedsubtest.load
 delete mode 100644 cpan/Test-Simple/t/Behavior/388-threadedsubtest.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/MonkeyPatching_diag.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/MonkeyPatching_done_testing.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/MonkeyPatching_note.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/MonkeyPatching_ok.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/MonkeyPatching_plan.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/Munge.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/NotTB15.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/Tester2_subtest.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/cmp_ok_xor.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/encoding_test.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/fork_new_end.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/skip_all_in_subtest.load
 delete mode 100644 cpan/Test-Simple/t/Behavior/skip_all_in_subtest.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/threads_with_taint_mode.t
 delete mode 100644 cpan/Test-Simple/t/Behavior/todo.t
 rename cpan/Test-Simple/t/{Legacy => }/Builder/Builder.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/carp.t (69%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/create.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/current_test.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/current_test_without_plan.t 
(100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/details.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing_double.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing_plan_mismatch.t 
(100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing_with_no_plan.t 
(100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing_with_number.t 
(100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/done_testing_with_plan.t (83%)
 create mode 100644 cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
 rename cpan/Test-Simple/t/{Legacy => }/Builder/has_plan.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/has_plan2.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/is_fh.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/is_passing.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/maybe_regex.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/no_diag.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/no_ending.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/no_header.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/no_plan_at_all.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/ok_obj.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/output.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Builder/reset.t (97%)
 create mode 100644 cpan/Test-Simple/t/Builder/try.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/Builder/reset_outputs.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/PerlIO.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/TestTester/auto.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/TestTester/check_tests.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/TestTester/depth.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/TestTester/is_bug.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/TestTester/run_test.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/fork_in_subtest.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/pod.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/ribasushi_diag.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/ribasushi_threads.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/ribasushi_threads2.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/strays.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/test_use_ok.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/threads.t
 delete mode 100644 cpan/Test-Simple/t/Legacy/versions.t
 rename cpan/Test-Simple/t/{Legacy => }/More.t (98%)
 rename cpan/Test-Simple/t/{Legacy => }/Simple/load.t (100%)
 delete mode 100644 cpan/Test-Simple/t/Test-Builder.t
 delete mode 100644 cpan/Test-Simple/t/Test-More-DeepCheck.t
 delete mode 100644 cpan/Test-Simple/t/Test-More.t
 delete mode 100644 cpan/Test-Simple/t/Test-MostlyLike.t
 delete mode 100644 cpan/Test-Simple/t/Test-Simple.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-ArrayBase-Meta.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-ArrayBase.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Carp.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Event-Diag.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Event-Finish.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Event-Note.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Event.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-ExitMagic-Context.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Exporter-Meta.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Exporter.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-IOSets.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Meta.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-PackageUtil.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Tester-Grab.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Tester.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Toolset.t
 delete mode 100644 cpan/Test-Simple/t/Test-Stream-Util.t
 delete mode 100644 cpan/Test-Simple/t/Test-Tester-Capture.t
 delete mode 100644 cpan/Test-Simple/t/Test-Tester.t
 delete mode 100644 cpan/Test-Simple/t/Test-use-ok.t
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_01basic.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_02fhrestore.t (96%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_03die.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_04line_num.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_05faildiag.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_06errormess.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_07args.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_08subtest.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_09do.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/Tester/tbt_09do_script.pl (100%)
 rename cpan/Test-Simple/t/{Legacy => }/bad_plan.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/bail_out.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/buffer.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/c_flag.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/circular_data.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/cmp_ok.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/dependents.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/diag.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/died.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/dont_overwrite_die_handler.t (95%)
 rename cpan/Test-Simple/t/{Legacy => }/eq_set.t (92%)
 rename cpan/Test-Simple/t/{Legacy => }/exit.t (90%)
 rename cpan/Test-Simple/t/{Legacy => }/explain.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/extra.t (86%)
 rename cpan/Test-Simple/t/{Legacy => }/extra_one.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/fail-like.t (91%)
 rename cpan/Test-Simple/t/{Legacy => }/fail-more.t (95%)
 rename cpan/Test-Simple/t/{Legacy => }/fail.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/fail_one.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/filehandles.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/fork.t (68%)
 rename cpan/Test-Simple/t/{Legacy => }/harness_active.t (98%)
 rename cpan/Test-Simple/t/{Legacy => }/import.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/is_deeply_dne_bug.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/is_deeply_fail.t (99%)
 rename cpan/Test-Simple/t/{Legacy => }/is_deeply_with_threads.t (82%)
 delete mode 100644 cpan/Test-Simple/t/lib/MyTest.pm
 delete mode 100644 cpan/Test-Simple/t/lib/SmallTest.pm
 rename cpan/Test-Simple/t/{Legacy => }/missing.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/new_ok.t (81%)
 rename cpan/Test-Simple/t/{Legacy => }/no_plan.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/no_tests.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/note.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/overload.t (97%)
 rename cpan/Test-Simple/t/{Legacy => }/overload_threads.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/plan.t (58%)
 rename cpan/Test-Simple/t/{Legacy => }/plan_bad.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/plan_is_noplan.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/plan_no_plan.t (84%)
 rename cpan/Test-Simple/t/{Legacy => }/plan_shouldnt_import.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/plan_skip_all.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/require_ok.t (56%)
 rename cpan/Test-Simple/t/{Legacy => }/simple.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/skip.t (86%)
 rename cpan/Test-Simple/t/{Legacy => }/skipall.t (98%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/args.t (96%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/bail_out.t (55%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/basic.t (94%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/die.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/do.t (83%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/exceptions.t (88%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/for_do_t.test (100%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/fork.t (78%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/implicit_done.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/line_numbers.t (90%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/plan.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/predicate.t (95%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/singleton.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/threads.t (74%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/todo.t (87%)
 rename cpan/Test-Simple/t/{Legacy => }/subtest/wstat.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/tbm_doesnt_set_exported_to.t (88%)
 rename cpan/Test-Simple/t/{Legacy => }/thread_taint.t (100%)
 create mode 100644 cpan/Test-Simple/t/threads.t
 rename cpan/Test-Simple/t/{Legacy => }/todo.t (93%)
 rename cpan/Test-Simple/t/{Legacy => }/undef.t (90%)
 rename cpan/Test-Simple/t/{Legacy => }/use_ok.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/useing.t (100%)
 rename cpan/Test-Simple/t/{Legacy => }/utf8.t (98%)
 create mode 100644 cpan/Test-Simple/t/versions.t

diff --git a/MANIFEST b/MANIFEST
index 356a73f..c1b8e17 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -827,6 +827,7 @@ cpan/Encode/t/unibench.pl           benchmark script
 cpan/Encode/t/Unicode.t                        test script
 cpan/Encode/t/utf8ref.t                        test script
 cpan/Encode/t/utf8strict.t             test script
+cpan/Encode/t/utf8warnings.t
 cpan/Encode/TW/Makefile.PL             Encode extension
 cpan/Encode/TW/TW.pm                   Encode extension
 cpan/Encode/ucm/8859-10.ucm            Unicode Character Map
@@ -2246,201 +2247,73 @@ cpan/Test-Harness/t/yamlish-output.t                   
Test::Harness test
 cpan/Test-Harness/t/yamlish.t                          Test::Harness test
 cpan/Test-Harness/t/yamlish-writer.t                   Test::Harness test
 cpan/Test/lib/Test.pm          A simple framework for writing test scripts
-cpan/Test-Simple/lib/ok.pm                     Test::Simple library
 cpan/Test-Simple/lib/Test/Builder/Module.pm                    Test::Simple 
module
 cpan/Test-Simple/lib/Test/Builder.pm                   Test::Simple module
 cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm                      
Test::Simple module
 cpan/Test-Simple/lib/Test/Builder/Tester.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/FAQ.pod                      Test::Simple module
-cpan/Test-Simple/lib/Test/More/DeepCheck.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/More/DeepCheck/Strict.pm                     
Test::Simple module
-cpan/Test-Simple/lib/Test/More/DeepCheck/Tolerant.pm                   
Test::Simple module
 cpan/Test-Simple/lib/Test/More.pm                      Test::Simple module
-cpan/Test-Simple/lib/Test/More/Tools.pm                        Test::Simple 
module
-cpan/Test-Simple/lib/Test/MostlyLike.pm                        Test::Simple 
module
 cpan/Test-Simple/lib/Test/Simple.pm                    Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Architecture.pod                      
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/ArrayBase/Meta.pm                     
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/ArrayBase.pm                  Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Carp.pm                       Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Context.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Bail.pm                 Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Child.pm                        
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Event/Diag.pm                 Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Finish.pm                       
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Event/Note.pm                 Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Ok.pm                   Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Plan.pm                 Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event.pm                      Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Event/Subtest.pm                      
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/ExitMagic/Context.pm                  
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/ExitMagic.pm                  Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Exporter/Meta.pm                      
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Exporter.pm                   Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/IOSets.pm                     Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Meta.pm                       Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/PackageUtil.pm                        
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream.pm                    Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester/Checks/Event.pm                        
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester/Checks.pm                      
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester/Events/Event.pm                        
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester/Events.pm                      
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester/Grab.pm                        
Test::Simple module
-cpan/Test-Simple/lib/Test/Stream/Tester.pm                     Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Threads.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Toolset.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/Stream/Util.pm                       Test::Simple 
module
-cpan/Test-Simple/lib/Test/Tester/Capture.pm                    Test::Simple 
module
-cpan/Test-Simple/lib/Test/Tester.pm                    Test::Simple module
 cpan/Test-Simple/lib/Test/Tutorial.pod                 Test::Simple 
documentation
-cpan/Test-Simple/lib/Test/Tutorial/WritingTests.pod                    
Test::Simple documentation
-cpan/Test-Simple/lib/Test/Tutorial/WritingTools.pod                    
Test::Simple documentation
-cpan/Test-Simple/lib/Test/use/ok.pm                    Test::Simple library
-cpan/Test-Simple/t/Behavior/388-threadedsubtest.load                   
Test::Simple Test
-cpan/Test-Simple/t/Behavior/388-threadedsubtest.t                      
Test::Simple test
-cpan/Test-Simple/t/Behavior/cmp_ok_xor.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Behavior/encoding_test.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Behavior/fork_new_end.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Behavior/MonkeyPatching_diag.t                      
Test::Simple Test
-cpan/Test-Simple/t/Behavior/MonkeyPatching_done_testing.t                      
Test::Simple Test
-cpan/Test-Simple/t/Behavior/MonkeyPatching_note.t                      
Test::Simple Test
-cpan/Test-Simple/t/Behavior/MonkeyPatching_ok.t                        
Test::Simple Test
-cpan/Test-Simple/t/Behavior/MonkeyPatching_plan.t                      
Test::Simple Test
-cpan/Test-Simple/t/Behavior/Munge.t                    Test::Simple Test
-cpan/Test-Simple/t/Behavior/NotTB15.t                  Test::Simple Test
-cpan/Test-Simple/t/Behavior/skip_all_in_subtest.load                   
Test::Simple Test
-cpan/Test-Simple/t/Behavior/skip_all_in_subtest.t                      
Test::Simple Test
-cpan/Test-Simple/t/Behavior/Tester2_subtest.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Behavior/threads_with_taint_mode.t                  
Test::Simple Test
-cpan/Test-Simple/t/Behavior/todo.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/bad_plan.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/bail_out.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/BEGIN_require_ok.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/BEGIN_use_ok.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/buffer.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/Builder.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/carp.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/create.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/current_test.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/current_test_without_plan.t                  
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/details.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t                        
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t                 
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing_with_no_plan.t                  
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing_with_number.t                   
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/done_testing_with_plan.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/has_plan2.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/has_plan.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/is_fh.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/is_passing.t                 Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/maybe_regex.t                        
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/no_diag.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/no_ending.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/no_header.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/no_plan_at_all.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/ok_obj.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/output.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Builder/reset_outputs.t                      
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Builder/reset.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/c_flag.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/circular_data.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/cmp_ok.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/dependents.t                 Test::Simple Test
-cpan/Test-Simple/t/Legacy/diag.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/died.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/dont_overwrite_die_handler.t                 
Test::Simple Test
-cpan/Test-Simple/t/Legacy/eq_set.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/exit.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/explain.t                    Test::Simple Test
-cpan/Test-Simple/t/Legacy/extra_one.t                  Test::Simple Test
-cpan/Test-Simple/t/Legacy/extra.t                      Test::Simple Test
-cpan/Test-Simple/t/Legacy/fail-like.t                  Test::Simple Test
-cpan/Test-Simple/t/Legacy/fail-more.t                  Test::Simple Test
-cpan/Test-Simple/t/Legacy/fail_one.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/fail.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/filehandles.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/fork_in_subtest.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/fork.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/harness_active.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/import.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/is_deeply_dne_bug.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/is_deeply_fail.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/is_deeply_with_threads.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/missing.t                    Test::Simple Test
-cpan/Test-Simple/t/Legacy/More.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/new_ok.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/no_plan.t                    Test::Simple Test
-cpan/Test-Simple/t/Legacy/no_tests.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/note.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/overload.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/overload_threads.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/PerlIO.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/plan_bad.t                   Test::Simple Test
-cpan/Test-Simple/t/Legacy/plan_is_noplan.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/plan_no_plan.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/plan_shouldnt_import.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/plan_skip_all.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/plan.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/pod.t                        Test::Simple Test
-cpan/Test-Simple/t/Legacy/require_ok.t                 Test::Simple Test
-cpan/Test-Simple/t/Legacy/ribasushi_diag.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/ribasushi_threads2.t                 Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/ribasushi_threads.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Simple/load.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/simple.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/skipall.t                    Test::Simple Test
-cpan/Test-Simple/t/Legacy/skip.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/strays.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/subtest/args.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/bail_out.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/basic.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/die.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/do.t                 Test::Simple Test
-cpan/Test-Simple/t/Legacy/subtest/exceptions.t                 Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/for_do_t.test                        
Test::Simple Test
-cpan/Test-Simple/t/Legacy/subtest/fork.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/implicit_done.t                      
Test::Simple Test
-cpan/Test-Simple/t/Legacy/subtest/line_numbers.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/subtest/plan.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/predicate.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/singleton.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/threads.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/todo.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/subtest/wstat.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/tbm_doesnt_set_exported_to.t                 
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_01basic.t                 Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_02fhrestore.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_03die.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_04line_num.t                      
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_05faildiag.t                      
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_06errormess.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_07args.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t                       
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_09do_script.pl                    
Test::Simple Test
-cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/TestTester/auto.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/TestTester/check_tests.t                     
Test::Simple Test
-cpan/Test-Simple/t/Legacy/TestTester/depth.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/TestTester/is_bug.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/TestTester/run_test.t                        
Test::Simple Test
-cpan/Test-Simple/t/Legacy/test_use_ok.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/threads.t                    Test::Simple Test
-cpan/Test-Simple/t/Legacy/thread_taint.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Legacy/todo.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/undef.t                      Test::Simple Test
-cpan/Test-Simple/t/Legacy/useing.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/use_ok.t                     Test::Simple Test
-cpan/Test-Simple/t/Legacy/utf8.t                       Test::Simple Test
-cpan/Test-Simple/t/Legacy/versions.t                   Test::Simple Test
+cpan/Test-Simple/t/478-cmp_ok_hash.t
+cpan/Test-Simple/t/bad_plan.t
+cpan/Test-Simple/t/bail_out.t
+cpan/Test-Simple/t/BEGIN_require_ok.t
+cpan/Test-Simple/t/BEGIN_use_ok.t
+cpan/Test-Simple/t/buffer.t
+cpan/Test-Simple/t/Builder/Builder.t
+cpan/Test-Simple/t/Builder/carp.t
+cpan/Test-Simple/t/Builder/create.t
+cpan/Test-Simple/t/Builder/current_test.t
+cpan/Test-Simple/t/Builder/current_test_without_plan.t
+cpan/Test-Simple/t/Builder/details.t
+cpan/Test-Simple/t/Builder/done_testing_double.t
+cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t
+cpan/Test-Simple/t/Builder/done_testing.t
+cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t
+cpan/Test-Simple/t/Builder/done_testing_with_number.t
+cpan/Test-Simple/t/Builder/done_testing_with_plan.t
+cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
+cpan/Test-Simple/t/Builder/has_plan2.t
+cpan/Test-Simple/t/Builder/has_plan.t
+cpan/Test-Simple/t/Builder/is_fh.t
+cpan/Test-Simple/t/Builder/is_passing.t
+cpan/Test-Simple/t/Builder/maybe_regex.t
+cpan/Test-Simple/t/Builder/no_diag.t
+cpan/Test-Simple/t/Builder/no_ending.t
+cpan/Test-Simple/t/Builder/no_header.t
+cpan/Test-Simple/t/Builder/no_plan_at_all.t
+cpan/Test-Simple/t/Builder/ok_obj.t
+cpan/Test-Simple/t/Builder/output.t
+cpan/Test-Simple/t/Builder/reset.t
+cpan/Test-Simple/t/Builder/try.t
+cpan/Test-Simple/t/c_flag.t
+cpan/Test-Simple/t/circular_data.t
+cpan/Test-Simple/t/cmp_ok.t
+cpan/Test-Simple/t/dependents.t
+cpan/Test-Simple/t/diag.t
+cpan/Test-Simple/t/died.t
+cpan/Test-Simple/t/dont_overwrite_die_handler.t
+cpan/Test-Simple/t/eq_set.t
+cpan/Test-Simple/t/exit.t
+cpan/Test-Simple/t/explain.t
+cpan/Test-Simple/t/extra_one.t
+cpan/Test-Simple/t/extra.t
+cpan/Test-Simple/t/fail-like.t
+cpan/Test-Simple/t/fail-more.t
+cpan/Test-Simple/t/fail_one.t
+cpan/Test-Simple/t/fail.t
+cpan/Test-Simple/t/filehandles.t
+cpan/Test-Simple/t/fork.t
+cpan/Test-Simple/t/harness_active.t
+cpan/Test-Simple/t/import.t
+cpan/Test-Simple/t/is_deeply_dne_bug.t
+cpan/Test-Simple/t/is_deeply_fail.t
+cpan/Test-Simple/t/is_deeply_with_threads.t
 cpan/Test-Simple/t/lib/Dev/Null.pm                     Test::Simple Test
 cpan/Test-Simple/t/lib/Dummy.pm                        Test::Simple Test
 cpan/Test-Simple/t/lib/MyOverload.pm                   Test::Simple Test
-cpan/Test-Simple/t/lib/MyTest.pm                       Test::Simple Test
 cpan/Test-Simple/t/lib/NoExporter.pm                   Test::Simple Test
 cpan/Test-Simple/t/lib/SigDie.pm                       Test::Simple Test
-cpan/Test-Simple/t/lib/SmallTest.pm                    Test::Simple Test
 cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm                        
Test::Simple Test
 cpan/Test-Simple/t/lib/Test/Simple/Catch.pm                    Test::Simple 
Test
 cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx              
        Test::Simple Test
@@ -2460,31 +2333,60 @@ 
cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx                
        Test::Simple
 cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx                    
Test::Simple Test
 cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx                   
Test::Simple Test
 cpan/Test-Simple/t/lib/TieOut.pm                       Test::Simple Test
-cpan/Test-Simple/t/Test-Builder.t                      Test::Simple Test
-cpan/Test-Simple/t/Test-More-DeepCheck.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Test-More.t                 Test::Simple Test
-cpan/Test-Simple/t/Test-MostlyLike.t                   Test::Simple Test
-cpan/Test-Simple/t/Test-Simple.t                       Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-ArrayBase-Meta.t                        
Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-ArrayBase.t                     Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Carp.t                  Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-Event-Diag.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Event-Finish.t                  Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Event-Note.t                    Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Event.t                 Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-ExitMagic-Context.t                     
Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-Exporter-Meta.t                 Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Exporter.t                      Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-IOSets.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Meta.t                  Test::Simple Test
-cpan/Test-Simple/t/Test-Stream-PackageUtil.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Tester-Grab.t                   Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Tester.t                        Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Toolset.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Test-Stream-Util.t                  Test::Simple Test
-cpan/Test-Simple/t/Test-Tester-Capture.t                       Test::Simple 
Test
-cpan/Test-Simple/t/Test-Tester.t                       Test::Simple Test
-cpan/Test-Simple/t/Test-use-ok.t                       Test::Simple Test
+cpan/Test-Simple/t/missing.t
+cpan/Test-Simple/t/More.t
+cpan/Test-Simple/t/new_ok.t
+cpan/Test-Simple/t/no_plan.t
+cpan/Test-Simple/t/no_tests.t
+cpan/Test-Simple/t/note.t
+cpan/Test-Simple/t/overload.t
+cpan/Test-Simple/t/overload_threads.t
+cpan/Test-Simple/t/plan_bad.t
+cpan/Test-Simple/t/plan_is_noplan.t
+cpan/Test-Simple/t/plan_no_plan.t
+cpan/Test-Simple/t/plan_shouldnt_import.t
+cpan/Test-Simple/t/plan_skip_all.t
+cpan/Test-Simple/t/plan.t
+cpan/Test-Simple/t/require_ok.t
+cpan/Test-Simple/t/Simple/load.t
+cpan/Test-Simple/t/simple.t
+cpan/Test-Simple/t/skipall.t
+cpan/Test-Simple/t/skip.t
+cpan/Test-Simple/t/subtest/args.t
+cpan/Test-Simple/t/subtest/bail_out.t
+cpan/Test-Simple/t/subtest/basic.t
+cpan/Test-Simple/t/subtest/die.t
+cpan/Test-Simple/t/subtest/do.t
+cpan/Test-Simple/t/subtest/exceptions.t
+cpan/Test-Simple/t/subtest/for_do_t.test
+cpan/Test-Simple/t/subtest/fork.t
+cpan/Test-Simple/t/subtest/implicit_done.t
+cpan/Test-Simple/t/subtest/line_numbers.t
+cpan/Test-Simple/t/subtest/plan.t
+cpan/Test-Simple/t/subtest/predicate.t
+cpan/Test-Simple/t/subtest/singleton.t
+cpan/Test-Simple/t/subtest/threads.t
+cpan/Test-Simple/t/subtest/todo.t
+cpan/Test-Simple/t/subtest/wstat.t
+cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t
+cpan/Test-Simple/t/Tester/tbt_01basic.t
+cpan/Test-Simple/t/Tester/tbt_02fhrestore.t
+cpan/Test-Simple/t/Tester/tbt_03die.t
+cpan/Test-Simple/t/Tester/tbt_04line_num.t
+cpan/Test-Simple/t/Tester/tbt_05faildiag.t
+cpan/Test-Simple/t/Tester/tbt_06errormess.t
+cpan/Test-Simple/t/Tester/tbt_07args.t
+cpan/Test-Simple/t/Tester/tbt_08subtest.t
+cpan/Test-Simple/t/Tester/tbt_09do_script.pl
+cpan/Test-Simple/t/Tester/tbt_09do.t
+cpan/Test-Simple/t/threads.t
+cpan/Test-Simple/t/thread_taint.t
+cpan/Test-Simple/t/todo.t
+cpan/Test-Simple/t/undef.t
+cpan/Test-Simple/t/useing.t
+cpan/Test-Simple/t/use_ok.t
+cpan/Test-Simple/t/utf8.t
+cpan/Test-Simple/t/versions.t
 cpan/Test-Simple/t/xt/dependents.t                     Test::Simple Test
 cpan/Test/t/05_about_verbose.t See if Test works
 cpan/Test/t/fail.t             See if Test works
diff --git a/Makefile.SH b/Makefile.SH
index a55883d..66061c4 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1288,26 +1288,21 @@ _cleaner2:
        -rmdir lib/autodie/Scope lib/autodie lib/XS lib/Win32API lib/VMS
        -rmdir lib/Unicode/Collate/Locale lib/Unicode/Collate/CJK
        -rmdir lib/Unicode/Collate lib/Tie/Hash lib/Thread lib/Text
-       -rmdir lib/Test/use lib/Test/Tutorial lib/Test/Tester
-       -rmdir lib/Test/Stream/Tester/Events lib/Test/Stream/Tester/Checks
-       -rmdir lib/Test/Stream/Tester lib/Test/Stream/Exporter
-       -rmdir lib/Test/Stream/ExitMagic lib/Test/Stream/Event
-       -rmdir lib/Test/Stream/ArrayBase lib/Test/Stream
-       -rmdir lib/Test/More/DeepCheck lib/Test/More lib/Test/Builder/Tester
-       -rmdir lib/Test/Builder lib/Test lib/Term lib/TAP/Parser/YAMLish
-       -rmdir lib/TAP/Parser/SourceHandler lib/TAP/Parser/Scheduler
-       -rmdir lib/TAP/Parser/Result lib/TAP/Parser/Iterator lib/TAP/Parser
-       -rmdir lib/TAP/Harness lib/TAP/Formatter/File
-       -rmdir lib/TAP/Formatter/Console lib/TAP/Formatter lib/TAP
-       -rmdir lib/Sys/Syslog lib/Sys lib/Sub lib/Search lib/Scalar
-       -rmdir lib/Pod/Text lib/Pod/Simple lib/Pod/Perldoc lib/PerlIO/via
-       -rmdir lib/PerlIO lib/Perl lib/Parse/CPAN lib/Parse lib/Params
-       -rmdir lib/Net/FTP lib/Module/Load lib/Module/CoreList lib/Module
-       -rmdir lib/Memoize lib/Math/BigInt lib/Math/BigFloat lib/Math lib/MIME
-       -rmdir lib/Locale/Maketext lib/Locale/Codes lib/Locale lib/List/Util
-       -rmdir lib/List lib/JSON/PP lib/JSON lib/IPC lib/IO/Uncompress/Adapter
-       -rmdir lib/IO/Uncompress lib/IO/Socket lib/IO/Compress/Zlib
-       -rmdir lib/IO/Compress/Zip lib/IO/Compress/Gzip lib/IO/Compress/Base
+       -rmdir lib/Test/Builder/Tester lib/Test/Builder lib/Test lib/Term
+       -rmdir lib/TAP/Parser/YAMLish lib/TAP/Parser/SourceHandler
+       -rmdir lib/TAP/Parser/Scheduler lib/TAP/Parser/Result
+       -rmdir lib/TAP/Parser/Iterator lib/TAP/Parser lib/TAP/Harness
+       -rmdir lib/TAP/Formatter/File lib/TAP/Formatter/Console
+       -rmdir lib/TAP/Formatter lib/TAP lib/Sys/Syslog lib/Sys lib/Sub
+       -rmdir lib/Search lib/Scalar lib/Pod/Text lib/Pod/Simple
+       -rmdir lib/Pod/Perldoc lib/PerlIO/via lib/PerlIO lib/Perl
+       -rmdir lib/Parse/CPAN lib/Parse lib/Params lib/Net/FTP lib/Module/Load
+       -rmdir lib/Module/CoreList lib/Module lib/Memoize lib/Math/BigInt
+       -rmdir lib/Math/BigFloat lib/Math lib/MIME lib/Locale/Maketext
+       -rmdir lib/Locale/Codes lib/Locale lib/List/Util lib/List lib/JSON/PP
+       -rmdir lib/JSON lib/IPC lib/IO/Uncompress/Adapter lib/IO/Uncompress
+       -rmdir lib/IO/Socket lib/IO/Compress/Zlib lib/IO/Compress/Zip
+       -rmdir lib/IO/Compress/Gzip lib/IO/Compress/Base
        -rmdir lib/IO/Compress/Adapter lib/IO/Compress lib/IO
        -rmdir lib/I18N/LangTags lib/I18N lib/Hash/Util lib/Hash lib/HTTP
        -rmdir lib/Filter/Util lib/Filter lib/File/Spec lib/ExtUtils/Typemaps
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 93c2b82..a018ae4 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -390,7 +390,7 @@ use File::Glob qw(:case);
     },
 
     'Encode' => {
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.63.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.64.tar.gz',
         'FILES'        => q[cpan/Encode],
     },
 
@@ -1052,7 +1052,7 @@ use File::Glob qw(:case);
     },
 
     'Test::Harness' => {
-        'DISTRIBUTION' => 'LEONT/Test-Harness-3.33.tar.gz',
+        'DISTRIBUTION' => 'LEONT/Test-Harness-3.34.tar.gz',
         'FILES'        => q[cpan/Test-Harness],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1071,7 +1071,7 @@ use File::Glob qw(:case);
     },
 
     'Test::Simple' => {
-        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001008.tar.gz',
+        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.001009.tar.gz',
         'FILES'        => q[cpan/Test-Simple],
         'EXCLUDED'     => [
             qr{^t/xt},
@@ -1080,6 +1080,7 @@ use File::Glob qw(:case);
                 examples/indent.pl
                 examples/subtest.t
                 t/00compile.t
+                t/00test_harness_check.t
                 t/pod.t
                 t/pod-coverage.t
                 t/Builder/reset_outputs.t
diff --git a/cpan/Encode/Encode.pm b/cpan/Encode/Encode.pm
index 03eded6..820d6f7 100644
--- a/cpan/Encode/Encode.pm
+++ b/cpan/Encode/Encode.pm
@@ -1,10 +1,10 @@
 #
-# $Id: Encode.pm,v 2.63 2014/10/19 07:02:18 dankogai Exp $
+# $Id: Encode.pm,v 2.64 2014/10/29 15:37:54 dankogai Exp dankogai $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.63 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.64 $ =~ /(\d+)/g;
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
@@ -156,7 +156,20 @@ sub encode($$;$) {
         require Carp;
         Carp::croak("Unknown encoding '$name'");
     }
-    my $octets = $enc->encode( $string, $check );
+    # For Unicode, warnings need to be caught and re-issued at this level
+    # so that callers can disable utf8 warnings lexically.
+    my $octets;
+    if ( ref($enc) eq 'Encode::Unicode' ) {
+        my $warn = '';
+        {
+            local $SIG{__WARN__} = sub { $warn = shift };
+            $octets = $enc->encode( $string, $check );
+        }
+        warnings::warnif('utf8', $warn) if length $warn;
+    }
+    else {
+        $octets = $enc->encode( $string, $check );
+    }
     $_[1] = $string if $check and !ref $check and !( $check & LEAVE_SRC() );
     return $octets;
 }
@@ -172,7 +185,20 @@ sub decode($$;$) {
         require Carp;
         Carp::croak("Unknown encoding '$name'");
     }
-    my $string = $enc->decode( $octets, $check );
+    # For Unicode, warnings need to be caught and re-issued at this level
+    # so that callers can disable utf8 warnings lexically.
+    my $string;
+    if ( ref($enc) eq 'Encode::Unicode' ) {
+        my $warn = '';
+        {
+            local $SIG{__WARN__} = sub { $warn = shift };
+            $string = $enc->decode( $octets, $check );
+        }
+        warnings::warnif('utf8', $warn) if length $warn;
+    }
+    else {
+        $string = $enc->decode( $octets, $check );
+    }
     $_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
     return $string;
 }
diff --git a/cpan/Encode/Encode.xs b/cpan/Encode/Encode.xs
index 755d6d9..32be9b8 100644
--- a/cpan/Encode/Encode.xs
+++ b/cpan/Encode/Encode.xs
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 2.30 2014/10/19 07:01:15 dankogai Exp $
+ $Id: Encode.xs,v 2.31 2014/10/29 15:37:54 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -343,10 +343,14 @@ process_utf8(pTHX_ SV* dst, U8* s, U8* e, SV *check_sv,
         if (UTF8_IS_START(*s)) {
             U8 skip = UTF8SKIP(s);
             if ((s + skip) > e) {
-                /* Partial character */
-                /* XXX could check that rest of bytes are 
UTF8_IS_CONTINUATION(ch) */
-                if (stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL))
+                if (stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL)) {
+                    const U8 *p = s + 1;
+                    for (; p < e; p++) {
+                        if (!UTF8_IS_CONTINUATION(*p))
+                            goto malformed_byte;
+                    }
                     break;
+                }
 
                 goto malformed_byte;
             }
diff --git a/cpan/Encode/t/utf8warnings.t b/cpan/Encode/t/utf8warnings.t
new file mode 100644
index 0000000..9d93ece
--- /dev/null
+++ b/cpan/Encode/t/utf8warnings.t
@@ -0,0 +1,66 @@
+use strict;
+use warnings;
+BEGIN {
+    if ($] < 5.014){
+        print "1..0 # Skip: Perl 5.14.0 or later required\n";
+        exit 0;
+    }
+}
+
+use Encode;
+use Test::More tests => 7;
+
+my $valid   = "\x61\x00\x00\x00";
+my $invalid = "\x78\x56\x34\x12";
+
+my @warnings;
+$SIG{__WARN__} = sub {push @warnings, "@_"};
+
+my $enc = find_encoding("UTF32-LE");
+
+{
+    @warnings = ();
+    my $ret = Encode::Unicode::decode( $enc, $valid );
+    is("@warnings", "", "Calling decode in Encode::Unicode on valid string 
produces no warnings");
+}
+
+{
+    @warnings = ();
+    my $ret = Encode::Unicode::decode( $enc, $invalid );
+    like("@warnings", qr/is not Unicode/, "Calling decode in Encode::Unicode 
on invalid string warns");
+}
+
+{
+    no warnings 'utf8';
+    @warnings = ();
+    my $ret = Encode::Unicode::decode( $enc, $invalid );
+    is("@warnings", "", "Warning from decode in Encode::Unicode can be 
silenced via no warnings 'utf8'");
+}
+
+{
+    no warnings;
+    @warnings = ();
+    my $ret = Encode::Unicode::decode( $enc, $invalid );
+    is("@warnings", "", "Warning from decode in Encode::Unicode can be 
silenced via no warnings");
+}
+
+{
+    @warnings = ();
+    my $ret = Encode::decode( $enc, $invalid );
+    like("@warnings", qr/is not Unicode/, "Calling decode in Encode on invalid 
string warns");
+}
+
+{
+    no warnings 'utf8';
+    @warnings = ();
+    my $ret = Encode::decode( $enc, $invalid );
+    is("@warnings", "", "Warning from decode in Encode can be silenced via no 
warnings 'utf8'");
+};
+
+{
+    no warnings;
+    @warnings = ();
+    my $ret = Encode::decode( $enc, $invalid );
+    is("@warnings", "", "Warning from decode in Encode can be silenced via no 
warnings 'utf8'");
+};
+
diff --git a/cpan/Test-Harness/lib/App/Prove.pm 
b/cpan/Test-Harness/lib/App/Prove.pm
index 94b7c73..d6465f7 100644
--- a/cpan/Test-Harness/lib/App/Prove.pm
+++ b/cpan/Test-Harness/lib/App/Prove.pm
@@ -18,11 +18,11 @@ App::Prove - Implements the C<prove> command.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/App/Prove/State.pm 
b/cpan/Test-Harness/lib/App/Prove/State.pm
index c41ecd7..34d91c7 100644
--- a/cpan/Test-Harness/lib/App/Prove/State.pm
+++ b/cpan/Test-Harness/lib/App/Prove/State.pm
@@ -25,11 +25,11 @@ App::Prove::State - State storage for the C<prove> command.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/App/Prove/State/Result.pm 
b/cpan/Test-Harness/lib/App/Prove/State/Result.pm
index 474a362..5cc1ad6 100644
--- a/cpan/Test-Harness/lib/App/Prove/State/Result.pm
+++ b/cpan/Test-Harness/lib/App/Prove/State/Result.pm
@@ -14,11 +14,11 @@ App::Prove::State::Result - Individual test suite results.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm 
b/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
index 1a8864c..313e98c 100644
--- a/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
+++ b/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
@@ -9,11 +9,11 @@ App::Prove::State::Result::Test - Individual test results.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Base.pm 
b/cpan/Test-Harness/lib/TAP/Base.pm
index 5867ee7..ab02ac7 100644
--- a/cpan/Test-Harness/lib/TAP/Base.pm
+++ b/cpan/Test-Harness/lib/TAP/Base.pm
@@ -12,11 +12,11 @@ and L<TAP::Harness>
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 use constant GOT_TIME_HIRES => do {
     eval 'use Time::HiRes qw(time);';
@@ -121,4 +121,13 @@ Return true if the time returned by get_time is high 
resolution (i.e. if Time::H
 
 sub time_is_hires { return GOT_TIME_HIRES }
 
+=head3 C<get_times>
+
+Return array reference of the four-element list of CPU seconds,
+as with L<perlfunc/times>.
+
+=cut
+
+sub get_times { return [ times() ] }
+
 1;
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Base.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
index 440af92..82a5289 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
@@ -58,11 +58,11 @@ TAP::Formatter::Base - Base class for harness output 
delegates
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Color.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
index 4d97bfa..2c4cff5 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
@@ -71,11 +71,11 @@ TAP::Formatter::Color - Run Perl test scripts with color
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
index 9360cea..e9e3ef3 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
@@ -11,11 +11,11 @@ TAP::Formatter::Console - Harness output delegate for 
default console output
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
index fd8c021..b18f12f 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
@@ -41,11 +41,11 @@ TAP::Formatter::Console::ParallelSession - Harness output 
delegate for parallel
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
index 8262d9b..1daf913 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
@@ -26,11 +26,11 @@ TAP::Formatter::Console::Session - Harness output delegate 
for default console o
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
@@ -185,19 +185,7 @@ sub _closures {
                 $self->_output_test_failure($parser);
             }
             else {
-                my $time_report = '';
-                if ( $formatter->timer ) {
-                    my $start_time = $parser->start_time;
-                    my $end_time   = $parser->end_time;
-                    if ( defined $start_time and defined $end_time ) {
-                        my $elapsed = $end_time - $start_time;
-                        $time_report
-                          = $self->time_is_hires
-                          ? sprintf( ' %8d ms', $elapsed * 1000 )
-                          : sprintf( ' %8s s', $elapsed || '<1' );
-                    }
-                }
-
+                my $time_report = $self->time_report($formatter, $parser);
                 $formatter->_output( $self->_make_ok_line($time_report) );
             }
         },
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/File.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/File.pm
index baff4c1..7dda037 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/File.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/File.pm
@@ -13,11 +13,11 @@ TAP::Formatter::File - Harness output delegate for file 
output
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
index 456f92a..c9e69b8 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
@@ -10,11 +10,11 @@ TAP::Formatter::File::Session - Harness output delegate for 
file output
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
@@ -85,19 +85,7 @@ sub close_test {
         $self->_output_test_failure($parser);
     }
     else {
-        my $time_report = '';
-        if ( $formatter->timer ) {
-            my $start_time = $parser->start_time;
-            my $end_time   = $parser->end_time;
-            if ( defined $start_time and defined $end_time ) {
-                my $elapsed = $end_time - $start_time;
-                $time_report
-                  = $self->time_is_hires
-                  ? sprintf( ' %8d ms', $elapsed * 1000 )
-                  : sprintf( ' %8s s', $elapsed || '<1' );
-            }
-        }
-
+        my $time_report = $self->time_report($formatter, $parser);
         $formatter->_output( $pretty
               . ( $self->{results} ? "\n" . $self->{results} : "" )
               . $self->_make_ok_line($time_report) );
diff --git a/cpan/Test-Harness/lib/TAP/Formatter/Session.pm 
b/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
index fca74d6..786d066 100644
--- a/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
+++ b/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
@@ -23,11 +23,11 @@ TAP::Formatter::Session - Abstract base class for harness 
output delegate
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 METHODS
 
@@ -99,6 +99,11 @@ Called to close a test session.
 Called by C<close_test> to clear the line showing test progress, or the 
parallel
 test ruler, prior to printing the final test result.
 
+=head3 C<time_report>
+
+Return a formatted string about the elapsed (wall-clock) time
+and about the consumed CPU time.
+
 =cut
 
 sub header { }
@@ -183,4 +188,33 @@ sub _make_ok_line {
     return "ok$suffix\n";
 }
 
+sub time_report {
+    my ( $self, $formatter, $parser ) = @_;
+
+    my @time_report;
+    if ( $formatter->timer ) {
+        my $start_time = $parser->start_time;
+        my $end_time   = $parser->end_time;
+        if ( defined $start_time and defined $end_time ) {
+            my $elapsed = $end_time - $start_time;
+            push @time_report,
+              $self->time_is_hires
+                ? sprintf( ' %8d ms', $elapsed * 1000 )
+                : sprintf( ' %8s s', $elapsed || '<1' );
+        }
+        my $start_times = $parser->start_times();
+        my $end_times   = $parser->end_times();
+        my $usr  = $end_times->[0] - $start_times->[0];
+        my $sys  = $end_times->[1] - $start_times->[1];
+        my $cusr = $end_times->[2] - $start_times->[2];
+        my $csys = $end_times->[3] - $start_times->[3];
+        push @time_report,
+          sprintf('(%5.2f usr %5.2f sys + %5.2f cusr %5.2f csys = %5.2f CPU)',
+                  $usr, $sys, $cusr, $csys,
+                  $usr + $sys + $cusr + $csys);
+    }
+
+    return "@time_report";
+}
+
 1;
diff --git a/cpan/Test-Harness/lib/TAP/Harness.pm 
b/cpan/Test-Harness/lib/TAP/Harness.pm
index 70849dd..d4cf341 100644
--- a/cpan/Test-Harness/lib/TAP/Harness.pm
+++ b/cpan/Test-Harness/lib/TAP/Harness.pm
@@ -16,11 +16,11 @@ TAP::Harness - Run test scripts with statistics
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 $ENV{HARNESS_ACTIVE}  = 1;
 $ENV{HARNESS_VERSION} = $VERSION;
diff --git a/cpan/Test-Harness/lib/TAP/Harness/Env.pm 
b/cpan/Test-Harness/lib/TAP/Harness/Env.pm
index c169528..ef2919c 100644
--- a/cpan/Test-Harness/lib/TAP/Harness/Env.pm
+++ b/cpan/Test-Harness/lib/TAP/Harness/Env.pm
@@ -7,7 +7,7 @@ use constant IS_VMS => ( $^O eq 'VMS' );
 use TAP::Object;
 use Text::ParseWords qw/shellwords/;
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 # Get the parts of @INC which are changed from the stock list AND
 # preserve reordering of stock directories.
@@ -126,7 +126,7 @@ TAP::Harness::Env - Parsing harness related environmental 
variables where approp
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Object.pm 
b/cpan/Test-Harness/lib/TAP/Object.pm
index a1a2164..ee809ec 100644
--- a/cpan/Test-Harness/lib/TAP/Object.pm
+++ b/cpan/Test-Harness/lib/TAP/Object.pm
@@ -9,11 +9,11 @@ TAP::Object - Base class that provides common functionality 
to all C<TAP::*> mod
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser.pm 
b/cpan/Test-Harness/lib/TAP/Parser.pm
index 32b1f4e..39f5d2e 100644
--- a/cpan/Test-Harness/lib/TAP/Parser.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser.pm
@@ -27,11 +27,11 @@ TAP::Parser - Parse L<TAP|Test::Harness::TAP> output
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 my $DEFAULT_TAP_VERSION = 12;
 my $MAX_TAP_VERSION     = 13;
@@ -60,6 +60,8 @@ BEGIN {    # making accessors
           in_todo
           start_time
           end_time
+          start_times
+          end_times
           skip_all
           grammar_class
           result_factory_class
@@ -1007,11 +1009,20 @@ were skipped.
 
 =head3 C<start_time>
 
-Returns the time when the Parser was created.
+Returns the wall-clock time when the Parser was created.
 
 =head3 C<end_time>
 
-Returns the time when the end of TAP input was seen.
+Returns the wall-clock time when the end of TAP input was seen.
+
+=head3 C<start_times>
+
+Returns the CPU times (like L<perlfunc/times> when the Parser was created.
+
+=head3 C<end_times>
+
+Returns the CPU times (like L<perlfunc/times> when the end of TAP
+input was seen.
 
 =head3 C<has_problems>
 
@@ -1374,6 +1385,7 @@ sub _iter {
     my $state_table = $self->_make_state_table;
 
     $self->start_time( $self->get_time );
+    $self->start_times( $self->get_times );
 
     # Make next_state closure
     my $next_state = sub {
@@ -1466,6 +1478,7 @@ sub _finish {
     my $self = shift;
 
     $self->end_time( $self->get_time );
+    $self->end_times( $self->get_times );
 
     # Avoid leaks
     $self->_iterator(undef);
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
index d02c3e8..ca7c559 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
@@ -12,11 +12,11 @@ TAP::Parser::Aggregator - Aggregate TAP::Parser results
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
index 5ee121b..08c6bc4 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
@@ -14,11 +14,11 @@ TAP::Parser::Grammar - A grammar for the Test Anything 
Protocol.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
index a949b52..09b5194 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
@@ -11,11 +11,11 @@ TAP::Parser::Iterator - Base class for TAP source iterators
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
index ce71f05..c0ed0e0 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
@@ -11,11 +11,11 @@ TAP::Parser::Iterator::Array - Iterator for array-based TAP 
sources
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
index 8580498..dedba69 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
@@ -16,11 +16,11 @@ TAP::Parser::Iterator::Process - Iterator for process-based 
TAP sources
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
index 5ee9fbf..c7b15d0 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
@@ -11,11 +11,11 @@ TAP::Parser::Iterator::Stream - Iterator for 
filehandle-based TAP sources
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm 
b/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
index 6216528..b0b7d9e 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
@@ -16,11 +16,11 @@ TAP::Parser::IteratorFactory - Figures out which 
SourceHandler objects to use fo
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
index 4173cdc..fe88945 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
@@ -17,11 +17,11 @@ TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result.pm
index 48ba5dc..bbd3a17 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result.pm
@@ -24,11 +24,11 @@ TAP::Parser::Result - Base class for TAP::Parser output 
objects
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
index 0d213e6..95297aa 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Bailout - Bailout result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
index fc1f889..3d794c9 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Comment - Comment result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
index b52f9da..dd43e5b 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Plan - Plan result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
index dd4818d..4ea9a62 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Pragma - TAP pragma token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
index 0f34577..494a68e 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Test - Test result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
index c5b86a8..3142c37 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Unknown - Unknown result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
index 733021d..74cc03a 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::Version - TAP syntax version token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
index f592f68..ee5f4eb 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
@@ -11,11 +11,11 @@ TAP::Parser::Result::YAML - YAML result token.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm 
b/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
index 14ba708..87b02ea 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
@@ -29,11 +29,11 @@ TAP::Parser::ResultFactory - Factory for creating 
TAP::Parser output objects
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head2 DESCRIPTION
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
index 1e9b07f..049695f 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
@@ -13,11 +13,11 @@ TAP::Parser::Scheduler - Schedule tests during parallel 
testing
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
index b95f486..ba1fbf8 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Job - A single testing job.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
index 7cfeb65..d57e914 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
@@ -10,11 +10,11 @@ TAP::Parser::Scheduler::Spinner - A no-op job.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/Source.pm 
b/cpan/Test-Harness/lib/TAP/Parser/Source.pm
index 4085d65..5e173ee 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/Source.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/Source.pm
@@ -14,11 +14,11 @@ TAP::Parser::Source - a TAP source & meta data about it
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
index b761de5..a3d6761 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
@@ -12,11 +12,11 @@ TAP::Parser::SourceHandler - Base class for different TAP 
source handlers
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
index d68bfd6..b40a16b 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
@@ -16,11 +16,11 @@ TAP::Parser::SourceHandler::Executable - Stream output from 
an executable TAP so
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
index d4d9300..d7f49eb 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
@@ -16,11 +16,11 @@ TAP::Parser::SourceHandler::File - Stream TAP from a text 
file.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
index 697ebf4..cd25a83 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
@@ -16,11 +16,11 @@ TAP::Parser::SourceHandler::Handle - Stream TAP from an 
IO::Handle or a GLOB.
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
index 138500a..7d27ae1 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
@@ -21,11 +21,11 @@ TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl 
executable
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm 
b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
index 69cb88c..14814f3 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
@@ -16,11 +16,11 @@ TAP::Parser::SourceHandler::RawTAP - Stream output from raw 
TAP in a scalar/arra
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm 
b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
index 3dfe62c..4e79452 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
@@ -5,7 +5,7 @@ use warnings;
 
 use base 'TAP::Object';
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 # TODO:
 #   Handle blessed object syntax
@@ -269,7 +269,7 @@ TAP::Parser::YAMLish::Reader - Read YAMLish data from 
iterator
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm 
b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
index 258a7cf..25d5462 100644
--- a/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
+++ b/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
@@ -5,7 +5,7 @@ use warnings;
 
 use base 'TAP::Object';
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
 my $ESCAPE_KEY  = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
@@ -146,7 +146,7 @@ TAP::Parser::YAMLish::Writer - Write YAMLish data
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =head1 SYNOPSIS
 
diff --git a/cpan/Test-Harness/lib/Test/Harness.pm 
b/cpan/Test-Harness/lib/Test/Harness.pm
index d080401..f8e9a73 100644
--- a/cpan/Test-Harness/lib/Test/Harness.pm
+++ b/cpan/Test-Harness/lib/Test/Harness.pm
@@ -31,11 +31,11 @@ Test::Harness - Run Perl standard test scripts with 
statistics
 
 =head1 VERSION
 
-Version 3.33
+Version 3.34
 
 =cut
 
-our $VERSION = '3.33';
+our $VERSION = '3.34';
 
 # Backwards compatibility for exportable variable names.
 *verbose  = *Verbose;
diff --git a/cpan/Test-Harness/t/taint.t b/cpan/Test-Harness/t/taint.t
index 42efc18..06a6238 100644
--- a/cpan/Test-Harness/t/taint.t
+++ b/cpan/Test-Harness/t/taint.t
@@ -52,7 +52,7 @@ END
 # Check that PERL5LIB is propagated to -T.
 {
     my $sentinel_dir = 'i/do/not/exist';
-    local $ENV{PERL5LIB} = join $Config{path_sep}, $ENV{PERL5LIB}, 
$sentinel_dir;
+    local $ENV{PERL5LIB} = join $Config{path_sep}, $ENV{PERL5LIB} || '', 
$sentinel_dir;
     run_test_file(sprintf <<'END', $sentinel_dir);
 #!/usr/bin/perl -T
 
diff --git a/cpan/Test-Simple/lib/Test/Builder.pm 
b/cpan/Test-Simple/lib/Test/Builder.pm
index e871ae1..e10e102 100644
--- a/cpan/Test-Simple/lib/Test/Builder.pm
+++ b/cpan/Test-Simple/lib/Test/Builder.pm
@@ -1,1248 +1,2672 @@
 package Test::Builder;
 
-use 5.008001;
+use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.301001_071';
+our $VERSION = '1.001009';
 $VERSION = eval $VERSION;    ## no critic 
(BuiltinFunctions::ProhibitStringyEval)
 
-
-use Test::Stream 1.301001 qw/ -internal STATE_LEGACY STATE_PLAN STATE_COUNT /;
-use Test::Stream::Toolset;
-use Test::Stream::Context;
-use Test::Stream::Carp qw/confess/;
-use Test::Stream::Meta qw/MODERN/;
-
-use Test::Stream::Util qw/try protect unoverload_str is_regex/;
-use Scalar::Util qw/blessed reftype/;
-
-use Test::More::Tools;
-
 BEGIN {
-    my $meta = Test::Stream::Meta->is_tester('main');
-    Test::Stream->shared->set_use_legacy(1)
-        unless $meta && $meta->[MODERN];
+    if( $] < 5.008 ) {
+        require Test::Builder::IO::Scalar;
+    }
 }
 
-# The mostly-singleton, and other package vars.
-our $Test  = Test::Builder->new;
-our $_ORIG_Test = $Test;
-our $Level = 1;
 
-sub ctx {
-    my $self = shift || die "No self in context";
-    my ($add) = @_;
-    my $ctx = Test::Stream::Context::context(2 + ($add || 0), $self->{stream});
-    if (defined $self->{Todo}) {
-        $ctx->set_in_todo(1);
-        $ctx->set_todo($self->{Todo});
-        $ctx->set_diag_todo(1);
+# Make Test::Builder thread-safe for ithreads.
+BEGIN {
+    use Config;
+    # Load threads::shared when threads are turned on.
+    # 5.8.0's threads are so busted we no longer support them.
+    if( $] >= 5.008001 && $Config{useithreads} && $INC{'threads.pm'} ) {
+        require threads::shared;
+
+        # Hack around YET ANOTHER threads::shared bug.  It would
+        # occasionally forget the contents of the variable when sharing it.
+        # So we first copy the data, then share, then put our copy back.
+        *share = sub (\[$@%]) {
+            my $type = ref $_[0];
+            my $data;
+
+            if( $type eq 'HASH' ) {
+                %$data = %{ $_[0] };
+            }
+            elsif( $type eq 'ARRAY' ) {
+                @$data = @{ $_[0] };
+            }
+            elsif( $type eq 'SCALAR' ) {
+                $$data = ${ $_[0] };
+            }
+            else {
+                die( "Unknown type: " . $type );
+            }
+
+            $_[0] = &threads::shared::share( $_[0] );
+
+            if( $type eq 'HASH' ) {
+                %{ $_[0] } = %$data;
+            }
+            elsif( $type eq 'ARRAY' ) {
+                @{ $_[0] } = @$data;
+            }
+            elsif( $type eq 'SCALAR' ) {
+                ${ $_[0] } = $$data;
+            }
+            else {
+                die( "Unknown type: " . $type );
+            }
+
+            return $_[0];
+        };
+    }
+    # 5.8.0's threads::shared is busted when threads are off
+    # and earlier Perls just don't have that module at all.
+    else {
+        *share = sub { return $_[0] };
+        *lock  = sub { 0 };
     }
-    return $ctx;
 }
 
-sub stream {
-    my $self = shift;
-    return $self->{stream} || Test::Stream->shared;
-}
+=head1 NAME
 
-sub depth { $_[0]->{depth} || 0 }
+Test::Builder - Backend for building test libraries
 
-# This is only for unit tests at this point.
-sub _ending {
-    my $self = shift;
-    my ($ctx) = @_;
-    require Test::Stream::ExitMagic;
-    $self->{stream}->set_no_ending(0);
-    Test::Stream::ExitMagic->new->do_magic($self->{stream}, $ctx);
-}
-
-my %WARNED;
-our $CTX;
-our %ORIG = (
-    ok   => \&ok,
-    diag => \&diag,
-    note => \&note,
-    plan => \&plan,
-    done_testing => \&done_testing,
-);
+=head1 SYNOPSIS
 
-sub WARN_OF_OVERRIDE {
-    my ($sub, $ctx) = @_;
+  package My::Test::Module;
+  use base 'Test::Builder::Module';
 
-    return unless $ctx->modern;
-    my $old = $ORIG{$sub};
-    # Use package instead of self, we want replaced subs, not subclass 
overrides.
-    my $new = __PACKAGE__->can($sub);
+  my $CLASS = __PACKAGE__;
 
-    return if $new == $old;
+  sub ok {
+      my($test, $name) = @_;
+      my $tb = $CLASS->builder;
 
-    require B;
-    my $o    = B::svref_2object($new);
-    my $gv   = $o->GV;
-    my $st   = $o->START;
-    my $name = $gv->NAME;
-    my $pkg  = $gv->STASH->NAME;
-    my $line = $st->line;
-    my $file = $st->file;
+      $tb->ok($test, $name);
+  }
 
-    warn <<"    EOT" unless $WARNED{"$pkg $name $file $line"}++;
 
-*******************************************************************************
-Something monkeypatched Test::Builder::$sub()!
-The new sub is '$pkg\::$name' defined in $file around line $line.
-In the near future monkeypatching Test::Builder::ok() will no longer work
-as expected.
-*******************************************************************************
-    EOT
-}
+=head1 DESCRIPTION
 
+L<Test::Simple> and L<Test::More> have proven to be popular testing modules,
+but they're not always flexible enough.  Test::Builder provides a
+building block upon which to write your own test libraries I<which can
+work together>.
 
-####################
-# {{{ Constructors #
-####################
+=head2 Construction
 
-sub new {
-    my $class  = shift;
-    my %params = @_;
-    $Test ||= $class->create(shared_stream => 1);
+=over 4
+
+=item B<new>
+
+  my $Test = Test::Builder->new;
+
+Returns a Test::Builder object representing the current state of the
+test.
+
+Since you only run one test per program C<new> always returns the same
+Test::Builder object.  No matter how many times you call C<new()>, you're
+getting the same object.  This is called a singleton.  This is done so that
+multiple modules share such global information as the test counter and
+where test output is going.
+
+If you want a completely new Test::Builder object different from the
+singleton, use C<create>.
+
+=cut
 
+our $Test = Test::Builder->new;
+
+sub new {
+    my($class) = shift;
+    $Test ||= $class->create;
     return $Test;
 }
 
+=item B<create>
+
+  my $Test = Test::Builder->create;
+
+Ok, so there can be more than one Test::Builder object and this is how
+you get it.  You might use this instead of C<new()> if you're testing
+a Test::Builder based module, but otherwise you probably want C<new>.
+
+B<NOTE>: the implementation is not complete.  C<level>, for example, is
+still shared amongst B<all> Test::Builder objects, even ones created using
+this method.  Also, the method name may change in the future.
+
+=cut
+
 sub create {
-    my $class  = shift;
-    my %params = @_;
+    my $class = shift;
 
     my $self = bless {}, $class;
-    $self->reset(%params);
+    $self->reset;
 
     return $self;
 }
 
+
 # Copy an object, currently a shallow.
 # This does *not* bless the destination.  This keeps the destructor from
 # firing when we're just storing a copy of the object to restore later.
 sub _copy {
-    my ($src, $dest) = @_;
+    my($src, $dest) = @_;
+
     %$dest = %$src;
+    _share_keys($dest);
+
     return;
 }
 
-####################
-# }}} Constructors #
-####################
 
-#############################
-# {{{ Children and subtests #
-#############################
+=item B<child>
 
-sub subtest {
-    my $self = shift;
-    my $ctx = $self->ctx();
-    return tmt->subtest(@_);
-}
+  my $child = $builder->child($name_of_child);
+  $child->plan( tests => 4 );
+  $child->ok(some_code());
+  ...
+  $child->finalize;
+
+Returns a new instance of C<Test::Builder>.  Any output from this child will
+be indented four spaces more than the parent's indentation.  When done, the
+C<finalize> method I<must> be called explicitly.
+
+Trying to create a new child with a previous child still active (i.e.,
+C<finalize> not called) will C<croak>.
+
+Trying to run a test when you have an open child will also C<croak> and cause
+the test suite to fail.
+
+=cut
 
 sub child {
     my( $self, $name ) = @_;
 
-    my $ctx = $self->ctx;
-
-    if ($self->{child}) {
-        my $cname = $self->{child}->{Name};
-        $ctx->throw("You already have a child named ($cname) running");
+    if( $self->{Child_Name} ) {
+        $self->croak("You already have a child named ($self->{Child_Name}) 
running");
     }
 
-    $name ||= "Child of " . $self->{Name};
-    $ctx->child('push', $name, 1);
+    my $parent_in_todo = $self->in_todo;
 
-    my $stream = $self->{stream} || Test::Stream->shared;
+    # Clear $TODO for the child.
+    my $orig_TODO = $self->find_TODO(undef, 1, undef);
 
-    my $child = bless {
-        %$self,
-        '?' => $?,
-        parent => $self,
-    };
+    my $class = ref $self;
+    my $child = $class->create;
+
+    # Add to our indentation
+    $child->_indent( $self->_indent . '    ' );
 
-    $? = 0;
-    $child->{Name} = $name;
-    $self->{child} = $child;
-    Scalar::Util::weaken($self->{child});
+    # Make the child use the same outputs as the parent
+    for my $method (qw(output failure_output todo_output)) {
+        $child->$method( $self->$method );
+    }
+
+    # Ensure the child understands if they're inside a TODO
+    if( $parent_in_todo ) {
+        $child->failure_output( $self->todo_output );
+    }
 
+    # This will be reset in finalize. We do this here lest one child failure
+    # cause all children to fail.
+    $child->{Child_Error} = $?;
+    $?                    = 0;
+    $child->{Parent}      = $self;
+    $child->{Parent_TODO} = $orig_TODO;
+    $child->{Name}        = $name || "Child of " . $self->name;
+    $self->{Child_Name}   = $child->name;
     return $child;
 }
 
-sub finalize {
-    my $self = shift;
 
-    return unless $self->{parent};
+=item B<subtest>
+
+    $builder->subtest($name, \&subtests, @args);
+
+See documentation of C<subtest> in Test::More.  
+
+C<subtest> also, and optionally, accepts arguments which will be passed to the
+subtests reference.
+
+=cut
+
+sub subtest {
**** PATCH TRUNCATED AT 2000 LINES -- 24426 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to