catch2/projects
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
..
ExtraTests Increase tolerances in --min-duration tests 2020-07-07 11:36:56 +02:00
SelfTest Fix potential infinite loops in generators combined with section filter 2020-10-31 18:04:15 +01:00
TestScripts Fix how testRandomOrder.py builds tag arguments 2020-07-11 21:32:10 +02:00
XCode/OCTest Fix typos identified by codespell. 2019-04-10 09:42:11 +02:00
CMakeLists.txt Fix potential infinite loops in generators combined with section filter 2020-10-31 18:04:15 +01:00