Test-More / Test2-Harness

Alternative to Test::Harness
Other
23 stars 26 forks source link

broken symlinks causes yath to fall over. #103

Closed toddr closed 4 years ago

toddr commented 5 years ago

in this example, t/bar.t is a broken symlink:

$>prove t/zz_cruft_finder_once.t t/bar.t     
t/zz_cruft_finder_once.t .. ok     
Cannot detect source of 't/bar.t'! at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Parser/IteratorFactory.pm line 256.
    TAP::Parser::IteratorFactory::detect_source(TAP::Parser::IteratorFactory=HASH(0x19886e0), TAP::Parser::Source=HASH(0x18d0f50)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Parser/IteratorFactory.pm line 211
    TAP::Parser::IteratorFactory::make_iterator(TAP::Parser::IteratorFactory=HASH(0x19886e0), TAP::Parser::Source=HASH(0x18d0f50)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Parser.pm line 472
    TAP::Parser::_initialize(TAP::Parser=HASH(0x199a998), HASH(0x172cbc8)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Object.pm line 55
    TAP::Object::new("TAP::Parser", HASH(0x172cbc8)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Object.pm line 130
    TAP::Object::_construct(TAP::Harness=HASH(0xfc4088), "TAP::Parser", HASH(0x172cbc8)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Harness.pm line 852
    TAP::Harness::make_parser(TAP::Harness=HASH(0xfc4088), TAP::Parser::Scheduler::Job=HASH(0x14e50f8)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Harness.pm line 651
    TAP::Harness::_aggregate_single(TAP::Harness=HASH(0xfc4088), TAP::Parser::Aggregator=HASH(0xfd6a58), TAP::Parser::Scheduler=HASH(0x14e5080)) called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Harness.pm line 743
    TAP::Harness::aggregate_tests(TAP::Harness=HASH(0xfc4088), TAP::Parser::Aggregator=HASH(0xfd6a58), "t/zz_cruft_finder_once.t", "t/bar.t") called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Harness.pm line 558
    TAP::Harness::__ANON__() called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/TAP/Harness.pm line 571
    TAP::Harness::runtests(TAP::Harness=HASH(0xfc4088), "t/zz_cruft_finder_once.t", "t/bar.t") called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/App/Prove.pm line 548
    App::Prove::_runtests(App::Prove=HASH(0xfb5d00), HASH(0x13c6ff8), "t/zz_cruft_finder_once.t", "t/bar.t") called at /usr/local/cpanel/3rdparty/perl/528/lib/perl5/5.28.0/App/Prove.pm line 506
    App::Prove::run(App::Prove=HASH(0xfb5d00)) called at /usr/local/cpanel/3rdparty/bin/prove line 13

Which means it runs all the other tests and just complains if a test is missing.

However yath goes boom.

$>yath test  t/bar.t t/zz_cruft_finder_once.t         
't/bar.t' does not appear to be either a file or a directory.

================================================================================

Run ID: AEF547E6-7748-11E9-9354-64351B983DE7

An exception was caught

-0.81852s on wallclock (0.62 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.69 CPU)
toddr commented 5 years ago

I'm tempted to suggest that yath should be testing everything it can even if one of the symlinks are broken.

atoomic commented 4 years ago

we need an integration test in major_refactor branch to confirm if it's still an issue with this RC

atoomic commented 4 years ago

Confirmed this is fixed in major_refactor branch