catch2/tests/SelfTest
Martin Hořeňovský 4c8454b5ec
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-23 21:21:15 +02:00
..
Baselines Support sentinel-based ranges in default stringify (#2004) 2020-09-07 14:23:47 +02:00
CompileTimePerfTests Move tests from projects/ to tests/ 2019-12-05 16:00:20 +01:00
IntrospectiveTests Fix types in generators: decay types, properly constrain forwarding 2020-10-20 10:57:37 +02:00
Misc Move tests from projects/ to tests/ 2019-12-05 16:00:20 +01:00
TimingTests Increase tolerances in --min-duration tests 2020-07-26 10:48:03 +02:00
UsageTests Fix potential infinite loops in generators combined with section filter 2020-10-23 21:21:15 +02:00
TestRegistrations.cpp Split EventListener base from streaming_base.hpp 2020-08-29 19:09:54 +02:00
WarnAboutNoTests.cmake Move tests from projects/ to tests/ 2019-12-05 16:00:20 +01:00