Cache std::ostringstream between assertions.

This is not thread safe, but I think that was already true of Catch.
The construction/destruction of the std::ostringstream is where the
vast majority of time is spent per assertion.  A simple test of
100000000 CHECK()s is reduced from around 60s to 7.4s
2 files changed
tree: adac2932c16e45b0a7163f8df52452368b55ebd9
  1. .github/
  2. contrib/
  3. docs/
  4. include/
  5. projects/
  6. scripts/
  7. single_include/
  8. .gitattributes
  9. .gitignore
  10. .travis.yml
  11. appveyor.yml
  12. catch-hand-icon.png
  13. catch-icon-tiny.png
  14. catch-logo-small.png
  15. CMakeLists.txt
  16. LICENSE.txt
  17. README.md
README.md

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