Various improvements to the benchmarking support

* Units from <ratio> are no longer redeclared in our own namespace
* The default clock is `steady_clock`, not `high_resolution_clock`,
because, as HH says "high_resolution_clock is useless. If you want
measure the passing of time, use steady_clock. If you want user
friendly time, use system_clock".
* Benchmarking support is opt-in, not opt-out, to avoid the large
(~10%) compile time penalty.
* Benchmarking-related options in CLI are always present, to decrease
the amount of code that is only compiled conditionally and making
the whole shebang more maintainble.
20 files changed
tree: 926412e41898e1743ef62168b78bc67f6f1c8ee8
  1. .conan/
  2. .github/
  3. artwork/
  4. CMake/
  5. contrib/
  6. docs/
  7. examples/
  8. include/
  9. misc/
  10. projects/
  11. scripts/
  12. single_include/
  13. third_party/
  14. .gitattributes
  15. .gitignore
  16. .travis.yml
  17. appveyor.yml
  18. CMakeLists.txt
  19. CODE_OF_CONDUCT.md
  20. codecov.yml
  21. conanfile.py
  22. LICENSE.txt
  23. README.md
README.md

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 stands for C++ Automated Test Cases in a Header and 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