diff options
| author | Leitwolf11 | 2026-11-01 14:48:55 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-11-01 14:48:55 +0300 |
| commit | 569620dad14df7e13bb9fd31d256e9fd873ef6ec (patch) | |
| tree | f933300c29658c3eb89d126d74b6c30fdff9dd04 /src/Progmasoft/Runner/ResultImport.hpp | |
| parent | 1db203d56b7c71db3d80b477da1ad49e9ae46468 (diff) | |
| download | catch3-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.hpp | 10 |
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); |