Martin Hořeňovský 7a8a0205b4 CATCH_CONFIG_FAST_COMPILE now disables trys in REQUIRE*
This seems to give about 15% speedup when compiling tests using GCC.

The tradeoff is that under certain circumstances, there is a chance for
false negative result, when the expression under test throws exception
and the test code catches it before it gets to the test runner.

Example:
``` cpp
TEST_CASE("False negative") {
try {
REQUIRE(throws() == "");
} catch (...) {}
}
```
This test case will succeed, reporting no assertions checked, instead of
failing as it would with `CATCH_CONFIG_FAST_COMPILE` disabled. However,
just removing the try-catch block inside client's code will fix this, so
it is worthwhile.

This change does not apply to CHECK* macros, because these are currently
specified as continuing on exception and thus need the local try-catch
to work as intended.
2017-03-17 13:21:40 +01:00
2017-03-13 21:29:30 +01:00
2017-02-21 08:52:08 +00:00
2017-02-07 11:56:34 +01:00
2017-03-01 16:47:04 +00:00
2017-03-01 16:47:04 +00:00
2017-03-01 17:00:33 +00:00
2013-11-07 13:05:29 +01:00
2017-03-13 21:29:30 +01:00

catch logo

Github Releases Build Status Build status

The latest, single header, version can be downloaded directly using this link

What's the Catch?

Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C). It is implemented entirely in a set of header files, but is packaged up as a single header for extra convenience.

How to use it

This documentation comprises these three parts:

More

Description
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Readme 63 MiB
Languages
C++ 90.1%
CMake 5.5%
Python 3.2%
Meson 0.7%
Starlark 0.3%