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

summaryrefslogtreecommitdiffhomepage
path: root/src/Progmasoft/Runner/ResultImport.hpp
diff options
context:
space:
mode:
authorLeitwolf112026-11-01 14:48:55 +0300
committerLeitwolf112026-11-01 14:48:55 +0300
commit569620dad14df7e13bb9fd31d256e9fd873ef6ec (patch)
treef933300c29658c3eb89d126d74b6c30fdff9dd04 /src/Progmasoft/Runner/ResultImport.hpp
parent1db203d56b7c71db3d80b477da1ad49e9ae46468 (diff)
downloadcatch3-feature/result-import.tar.gz
Keep real failures visible when importingfeature/result-import
A review of the import found ways for a failure to disappear or for the import to reach too far. - CTRF's retryAttempts ends before the final attempt, which was dropped when its outcome matched the one before it. - TAP names tests only within a stream, so a failure in one file and a pass under the same name in another merged into a flaky pass. The path given to --import is now the class of a stream's tests. - A failure followed by a skip with the same identifier read as skipped. - Directives are whole words: TODOING is not TODO. SKIPPED and SKIPPING stay directives, as harnesses treat them. - Verdicts that alternate count as flaky only under an explicit --import-revision. HEAD says nothing about a dirty checkout or a report from another one, and two such events could quarantine a real failure. - --import-name no longer redirects the history of a normal test run. - Importing does not depend on the tests registered in the binary.
Diffstat (limited to 'src/Progmasoft/Runner/ResultImport.hpp')
-rw-r--r--src/Progmasoft/Runner/ResultImport.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Progmasoft/Runner/ResultImport.hpp b/src/Progmasoft/Runner/ResultImport.hpp
index b9ddff27..869a8449 100644
--- a/src/Progmasoft/Runner/ResultImport.hpp
+++ b/src/Progmasoft/Runner/ResultImport.hpp
@@ -21,8 +21,12 @@ namespace Progmasoft::Catch3::Runner
/// The results a report holds, in its order. A test the report names
/// twice comes back twice; `MergeImported` makes one test of them.
+ /// `source` names the report, for a format whose tests have no identity
+ /// of their own.
[[nodiscard]] Expected<std::vector<TestResult>>
- ParseImport(std::string_view text, ImportFormat format);
+ ParseImport(std::string_view text,
+ ImportFormat format,
+ const std::string &source = {});
/// One test per identifier: results that share one are attempts at that
/// test, in the order given, and the verdict is worked out over them. A
@@ -75,8 +79,10 @@ namespace Progmasoft::Catch3::Runner
[[nodiscard]] Expected<std::vector<TestResult>>
ParseCtrf(std::string_view text);
+ /// `source` becomes the class of its tests: TAP names them only within
+ /// one stream.
[[nodiscard]] Expected<std::vector<TestResult>>
- ParseTap(std::string_view text);
+ ParseTap(std::string_view text, const std::string &source);
[[nodiscard]] Expected<std::vector<TestResult>>
ParseJUnit(std::string_view text);