action #92497
closedPerl test execution in os-autoinst runs succesfully but then fails with error
0%
Description
Observation¶
When running a single perl test (or a series of tests), following the steps described in https://github.com/os-autoinst/os-autoinst#conducting-the-build, the tests run as expected, but afterwards encounters the following error and exits:
Cannot detect source of '17-basetest.t'! at /usr/lib/perl5/5.26.1/TAP/Parser/IteratorFactory.pm line 261.
TAP::Parser::IteratorFactory::detect_source(TAP::Parser::IteratorFactory=HASH(0x5563f4c92c20), TAP::Parser::Source=HASH(0x5563f4c92ab8)) called at /usr/lib/perl5/5.26.1/TAP/Parser/IteratorFactory.pm line 211
TAP::Parser::IteratorFactory::make_iterator(TAP::Parser::IteratorFactory=HASH(0x5563f4c92c20), TAP::Parser::Source=HASH(0x5563f4c92ab8)) called at /usr/lib/perl5/5.26.1/TAP/Parser.pm line 472
TAP::Parser::_initialize(TAP::Parser=HASH(0x5563f4c92818), HASH(0x5563f4a1dff0)) called at /usr/lib/perl5/5.26.1/TAP/Object.pm line 55
TAP::Object::new("TAP::Parser", HASH(0x5563f4a1dff0)) called at /usr/lib/perl5/5.26.1/TAP/Object.pm line 130
TAP::Object::_construct(TAP::Harness=HASH(0x5563f445fe50), "TAP::Parser", HASH(0x5563f4a1dff0)) called at /usr/lib/perl5/5.26.1/TAP/Harness.pm line 852
TAP::Harness::make_parser(TAP::Harness=HASH(0x5563f445fe50), TAP::Parser::Scheduler::Job=HASH(0x5563f4c62df8)) called at /usr/lib/perl5/5.26.1/TAP/Harness.pm line 651
TAP::Harness::_aggregate_single(TAP::Harness=HASH(0x5563f445fe50), TAP::Parser::Aggregator=HASH(0x5563f4900670), TAP::Parser::Scheduler=HASH(0x5563f4c62d98)) called at /usr/lib/perl5/5.26.1/TAP/Harness.pm line 743
TAP::Harness::aggregate_tests(TAP::Harness=HASH(0x5563f445fe50), TAP::Parser::Aggregator=HASH(0x5563f4900670), "17-basetest.t") called at /usr/lib/perl5/5.26.1/TAP/Harness.pm line 558
TAP::Harness::__ANON__() called at /usr/lib/perl5/5.26.1/TAP/Harness.pm line 571
TAP::Harness::runtests(TAP::Harness=HASH(0x5563f445fe50), "17-basetest.t") called at /usr/lib/perl5/5.26.1/App/Prove.pm line 546
App::Prove::_runtests(App::Prove=HASH(0x5563f44524e8), HASH(0x5563f48ee168), "17-basetest.t") called at /usr/lib/perl5/5.26.1/App/Prove.pm line 504
App::Prove::run(App::Prove=HASH(0x5563f44524e8)) called at /usr/bin/prove line 13
make[3]: *** [CMakeFiles/test-perl-testsuite.dir/build.make:74: CMakeFiles/test-perl-testsuite] Error 2
make[2]: *** [CMakeFiles/Makefile2:540: CMakeFiles/test-perl-testsuite.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:547: CMakeFiles/test-perl-testsuite.dir/rule] Error 2
make: *** [Makefile:348: test-perl-testsuite] Error 2
Steps to reproduce¶
- Navigate to your build folder for os-autoinst (i.e. where you ran
cmake
) - run
make test-perl-testsuite TESTS="17-basetest.t
, replacing17-basetest.t
with any single test or group of tests contained in thet/
directory
Problem¶
H1. The problem seems to persist regardless of the test the user tries to run
H2. In the case of multiple tests, after all tests have completed, the error refers to the first test listed by the user in the make test-perl-testsuite TESTS="test1, test2 ... testN"
command and exits
Suggestion¶
Since this problem is unlikely to have existed for long without anyone noticing, it is probably a regression. Locating a commit that caused this behaviour could be a good start.
Workaround¶
Running the tests will still produce all expected results, so no special action is needed