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)
Go to file
Jørgen P. Tjernø 4b9780201b Fix warning suppressions leaking under clang.exe
When running clang.exe under Windows, catch.hpp leaks warning
suppressions because it uses `#pragma warning(push)` & `#pragma
warning(pop)` around warning suppressions like `#pragma clang diagnostic
ignore "-Wunused-variable"`, instead of using `#pragma clang diagnostic
push` and `#pragma clang diagnostic pop`.

This fixes that by only defining
`CATCH_INTERNAL_START_WARNINGS_SUPPRESSION` and
`CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION` to be the cl.exe variants if
`defined(_MSC_VER) && !defined(__clang__)`.
2021-08-30 23:26:51 +02:00
.conan Upload conan releases to catch2 remote (instead of Catch2) 2020-05-06 20:49:26 +02:00
.github Update FUNDING file (-Patreon, +PayPal) 2020-07-04 20:06:27 +02:00
artwork Optimize in-repo PNGs 2019-09-06 12:12:47 +02:00
CMake Fix typos identified by codespell. 2019-04-10 09:42:11 +02:00
contrib fixed inconsistent semicolon expansion in catch_discover_tests (Bug #2214) 2021-04-16 17:26:08 +02:00
docs v2.13.7 2021-07-28 20:30:51 +02:00
examples Fix typos in the code base 2021-04-08 18:06:36 +02:00
include Fix warning suppressions leaking under clang.exe 2021-08-30 23:26:51 +02:00
misc Fix escaping of quotes in coverage helper 2019-09-21 23:19:45 +02:00
projects Mark !mayfail tests as skipped in the JUnit reporter 2021-07-27 23:16:01 +02:00
scripts JUnit reporter uses only 3 decimal places when reporting durations 2021-05-22 23:45:43 +02:00
single_include/catch2 v2.13.7 2021-07-28 20:30:51 +02:00
src Add the static library Catch2WithMain 2020-11-18 21:37:10 +01:00
third_party fixing UB 2020-05-29 14:56:40 +02:00
.clang-format Clang-format configuration added. 2020-06-19 09:49:10 +02:00
.gitattributes Update gitattributes 2018-07-23 10:15:52 +02:00
.gitignore Create a BUILD file for compatibility with bazel 2020-05-17 13:18:22 +02:00
.travis.yml Remove Conan builds from travis-CI 2021-06-07 20:02:30 +02:00
appveyor.yml Use newer version of Python on AppVeyor 2019-11-13 20:58:15 +01:00
BUILD.bazel Add bazel support 2020-11-18 21:37:12 +01:00
CMakeLists.txt v2.13.7 2021-07-28 20:30:51 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-08-17 07:45:12 +01:00
codecov.yml Fix bunch of links to master to point to v2.x branch 2020-10-21 15:30:35 +02:00
conanfile.py Fix conan package build 2020-11-26 15:05:58 +01:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md v2.13.7 2021-07-28 20:30:51 +02:00
WORKSPACE Create a BUILD file for compatibility with bazel 2020-05-17 13:18:22 +02:00

catch logo

Github Releases Build Status Build status codecov Try online Join the chat in Discord: https://discord.gg/4CWS9zD

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

Catch2 is released!

If you've been using an earlier version of Catch, please see the Breaking Changes section of the release notes before moving to Catch2. You might also like to read this blog post for more details.

What's the Catch?

Catch2 is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.

How to use it

This documentation comprises these three parts:

More