catch2/projects/SelfTest
Martin Hořeňovský 765ac08f08
Fix potential infinite loops in generators combined with section filter
The problem was that under specific circumstances, namely that none
of their children progressed, `GeneratorTracker` will not progress.
This was changed recently, to allow for code like this, where a
`SECTION` follows a `GENERATE` at the same level:

```cpp
SECTION("A") {}
auto a = GENERATE(1, 2);
SECTION("B") {}
```

However, this interacted badly with `SECTION` filters (`-c foo`),
as they could deactivate all `SECTION`s below a generator, and thus
stop it from progressing forever. This commit makes GeneratorTracker
check whether there are any filters active, and if they are, it checks
whether its section-children can ever run.

Fixes #2025
2020-10-31 18:04:15 +01:00
..
Baselines Support sentinel-based ranges in default stringify (#2004) 2020-08-18 10:34:47 +02:00
CompileTimePerfTests Added files for multiply inclusions of test cases 2017-11-17 15:46:57 +00:00
IntrospectiveTests Support sentinel-based ranges in default stringify (#2004) 2020-08-18 10:34:47 +02:00
Misc Add more tests for reading test specs from file 2019-10-20 15:14:50 +02:00
SurrogateCpps Sweep out some extra warnings 2017-09-07 17:25:15 +02:00
TimingTests Increase tolerances in --min-duration tests 2020-07-07 11:36:56 +02:00
UsageTests Fix potential infinite loops in generators combined with section filter 2020-10-31 18:04:15 +01:00
TestMain.cpp Add SonarQube Generic Test Data reporter 2019-10-27 10:02:41 +01:00
WarnAboutNoTests.cmake Improve reporting of unmatched filters (#1684) 2019-08-06 20:51:19 +02:00