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

summaryrefslogtreecommitdiffhomepage
path: root/src/catch2/internal/catch_reusable_string_stream.cpp
diff options
context:
space:
mode:
authorMartin Hořeňovský2026-08-08 14:59:04 +0200
committerMartin Hořeňovský2026-08-10 00:17:26 +0200
commit630840c5000ec9f5e169c8a2f5fd163d3b0c54ca (patch)
treedf4e6a4290688c37120a1b6fd3b520ec8ce9a741 /src/catch2/internal/catch_reusable_string_stream.cpp
parent4cde12851773b32fc5a0171f262e4281c8e28b01 (diff)
downloadcatch3-630840c5000ec9f5e169c8a2f5fd163d3b0c54ca.tar.gz
Fix <target>_TESTS variable generated by `catch_discover_tests`
There were 2 separate bugs, one recently added and one ancient (since roughly the first version of the registration script). 1) The recent refactoring of how the JSON output from Catch2 is parsed caused shadowing between the variable containing the per-test JSON fragments and the accumulator of test names for <target>_TESTS variable. This led to the variable containing both the names and the JSON fragments, and thus being completely wrong. 2) The test name accumulation has never accounted for characters that need escaping to be present in a CMake list. This means that e.g. test names with semicolon in them would end up with two elements in the test list. Both of these are now fixed, at the cost of extra complexity and my sanity as I had to learn more about CMake escaping rules. (CMake escaping rules are dumb)
Diffstat (limited to 'src/catch2/internal/catch_reusable_string_stream.cpp')
0 files changed, 0 insertions, 0 deletions