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
Martin Hořeňovský 1d1ccf8f3c
Replace all uses of std::unique_ptr with Catch::Detail::unique_ptr
Doing some benchmarking with ClangBuildAnalyzer suggests that
compiling Catch2's `SelfTest` spends 10% of the time instantiating
`std::unique_ptr` for some interface types required for registering
and running tests.

The lesser compilation overhead of `Catch::Detail::unique_ptr` should
significantly reduce that time.

The compiled implementation was also changed to use the custom impl,
to avoid having to convert between using `std::unique_ptr` and
`Catch::Detail::unique_ptr`. This will likely also improve the compile
times of the implementation, but that is less important than improving
compilation times of the user's TUs with tests.
2020-05-31 15:20:24 +02:00
.conan Upload conan releases to catch2 remote (instead of Catch2) 2020-05-06 20:53:42 +02:00
.github Add a FUNDING file 2019-06-07 19:15:35 +02:00
CMake Add Wsuggest-override to warning flags 2020-05-13 16:09:34 +02:00
data/artwork Move artwork/ to data/artwork/ 2019-12-06 11:36:12 +01:00
docs Translate exceptions by const reference instead of plain ref 2020-05-20 08:15:27 +02:00
examples Replace all uses of std::unique_ptr with Catch::Detail::unique_ptr 2020-05-31 15:20:24 +02:00
extras Fixup catch_discover_tests 2020-05-20 07:14:06 +02:00
src Replace all uses of std::unique_ptr with Catch::Detail::unique_ptr 2020-05-31 15:20:24 +02:00
tests Replace all uses of std::unique_ptr with Catch::Detail::unique_ptr 2020-05-31 15:20:24 +02:00
third_party Fix vendored dep because upstream is non-responsive 2019-04-10 20:17:25 +02:00
tools Remove Clara from external folder 2020-05-09 19:40:57 +02:00
.gitattributes Update gitattributes 2018-07-23 10:15:52 +02:00
.gitignore Add Bazel support for the v3 branch 2020-05-26 14:49:49 +02:00
.travis.yml Add development build option to CMake and enable it on CI 2020-02-26 16:07:26 +01:00
appveyor.yml Require Python3 for running tests 2020-05-06 14:56:33 +02:00
BUILD.bazel Add Bazel support for the v3 branch 2020-05-26 14:49:49 +02:00
CMakeLists.txt Remove catch_default_main.hpp 2020-05-09 18:00:49 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-08-17 07:45:12 +01:00
codecov.yml Do not count test files into coverage 2020-02-02 14:51:41 +01:00
conanfile.py Fix Conan recipe 2020-05-03 19:34:37 +02:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md Remove mentions of single header version from README 2020-05-03 09:54:18 +02:00
WORKSPACE Add Bazel support for the v3 branch 2020-05-26 14:49:49 +02:00

catch logo

Github Releases Build Status Build status codecov

Join the chat in Discord: https://discord.gg/4CWS9zD

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++.

How to use it

This documentation comprises these three parts:

More