Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/src/Progmasoft/Runner/Analysis.cpp
diff options
context:
space:
mode:
authorLeitwolf112026-11-01 14:23:09 +0300
committerLeitwolf112026-11-01 14:23:09 +0300
commit1db203d56b7c71db3d80b477da1ad49e9ae46468 (patch)
tree48cd538e23e40ebdaae034a864082de30f68364f /src/Progmasoft/Runner/Analysis.cpp
parent1559307a6ac7731ffd6a8e28147552b3987dbd93 (diff)
downloadcatch3-1db203d56b7c71db3d80b477da1ad49e9ae46468.tar.gz
Import the results of other test frameworks
Tests Catch3 does not run had no history, flaky detection or quarantine. --import=FILE reads a report instead of running tests and sends it through the analysis, history and reports of a run: JUnit with Surefire's reruns, xUnit.net v2, TRX, TAP 12 to 14, CTRF, Catch3's own --json report and catch3-results, a small JSON Lines format for tools with none of these. Results that share an identifier are attempts at one test, so a report of a rerun gives a flaky test. --import-revision says what was tested: a verdict that changes on one revision also counts as flaky. --import-name keeps the results in a history of their own, which --analytics reads too. A TAP stream that ends early fails instead of reading as a run that passed. The amalgamation script now accepts a relative include of the third-party wrappers, because pugixml is included from a second directory.
Diffstat (limited to 'src/Progmasoft/Runner/Analysis.cpp')
-rw-r--r--src/Progmasoft/Runner/Analysis.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Progmasoft/Runner/Analysis.cpp b/src/Progmasoft/Runner/Analysis.cpp
index 802f1ed9..739ca2dc 100644
--- a/src/Progmasoft/Runner/Analysis.cpp
+++ b/src/Progmasoft/Runner/Analysis.cpp
@@ -350,6 +350,11 @@ namespace Progmasoft::Catch3::Runner
test.analysis.insert(
test.analysis.end(), findings.begin(), findings.end());
+ // An imported failure ran somewhere else.
+ if (inputs.program.empty())
+ {
+ continue;
+ }
std::string replay = QuoteArgument(inputs.program) + " " +
QuoteArgument(QuoteTestSpec(test.name)) +
" --seed=" + std::to_string(failure->seed);