catch2/tests/SelfTest/UsageTests
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
..
Approx.tests.cpp Standardize header names and file locations 2020-04-24 18:58:44 +02:00
BDD.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
Benchmark.tests.cpp Standardize header names and file locations 2020-04-24 18:58:44 +02:00
Class.tests.cpp Split TEMPLATE_TEST* macros into their own set of files 2020-04-26 16:25:43 +02:00
Compilation.tests.cpp Remove duplicated test for #1027 2020-05-03 09:58:46 +02:00
Condition.tests.cpp Standardize header names and file locations 2020-04-24 18:58:44 +02:00
Decomposition.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
EnumToString.tests.cpp Standardize header names and file locations 2020-04-24 18:58:44 +02:00
Exception.tests.cpp Translate exceptions by const reference instead of plain ref 2020-05-20 08:15:27 +02:00
Generators.tests.cpp Improved generator tracking 2020-07-22 20:44:22 +02:00
Matchers.tests.cpp Sweep out Wshadow 2020-09-06 13:11:42 +02:00
MatchersRanges.tests.cpp Add IsEmpty and SizeIs matchers for ranges/containers 2020-03-27 10:24:08 +01:00
Message.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
Misc.tests.cpp Fix copy paste error in 7-arg TEMPLATE_TEST_CASE_SIG implementation 2020-07-22 21:18:52 +02:00
ToStringByte.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringChrono.tests.cpp Unconditionally provide <chrono> StringMakers 2020-02-03 20:53:36 +01:00
ToStringGeneral.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringOptional.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringPair.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringTuple.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringVariant.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
ToStringVector.tests.cpp Remove catch.hpp 2020-03-29 21:32:13 +02:00
ToStringWhich.tests.cpp Remove testing of CATCH_CONFIG_FALLBACK_STRINGIFIER from SelfTest 2020-01-21 15:14:24 +01:00
Tricky.tests.cpp Fix potential infinite loops in generators combined with section filter 2020-10-23 21:21:15 +02:00
VariadicMacros.tests.cpp Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00