Module Name: src Committed By: gson Date: Thu Jul 8 18:10:52 UTC 2021
Modified Files: src/external/bsd/atf/dist/tools: atf-run.cpp Log Message: When running an individual test case under isolation, make the test case count on the tp-start line of the output match the number of test cases actually executed (one) so that the atf-run output is valid input to atf-report. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/external/bsd/atf/dist/tools/atf-run.cpp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/atf/dist/tools/atf-run.cpp diff -u src/external/bsd/atf/dist/tools/atf-run.cpp:1.6 src/external/bsd/atf/dist/tools/atf-run.cpp:1.7 --- src/external/bsd/atf/dist/tools/atf-run.cpp:1.6 Sat Apr 10 10:32:57 2021 +++ src/external/bsd/atf/dist/tools/atf-run.cpp Thu Jul 8 18:10:52 2021 @@ -388,7 +388,22 @@ atf_run::run_test_program(const tools::f tools::fs::temp_dir resdir( tools::fs::path(tools::config::get("atf_workdir")) / "atf-run.XXXXXX"); - w.start_tp(tp.str(), md.test_cases.size()); + size_t nseltcs; + if (tc.empty()) { + nseltcs = md.test_cases.size(); + } else { + nseltcs = 0; + for (std::map< std::string, vars_map >::const_iterator iter + = md.test_cases.begin(); iter != md.test_cases.end(); iter++) { + const std::string& tcname = (*iter).first; + if (tcname == tc) + nseltcs++; + } + if (nseltcs == 0) + throw std::runtime_error("No such test case"); + } + + w.start_tp(tp.str(), nseltcs); if (md.test_cases.empty()) { w.end_tp("Bogus test program: reported 0 test cases"); errcode = EXIT_FAILURE;