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
Billy Robert O'Neal III ccf7f2842a Fix random_shuffle narrowing warnings
Catch passes an RNG which accepts int to random_shuffle. Inside
random_shuffle, the STL tries to call that RNG with the difference_type
of the user provided iterators. For std::vector, this is ptrdiff_t,
which on amd64 builds is wider than int. This triggers a narrowing
warning because the 64 bit difference is being truncated to 32 bits.

Note that this RNG implementation still does not produce a correctly
uniformly shuffled result -- it's currently asserting that std::rand
can produce 1000000 which is false -- but I don't know enough about
how much repeatable shuffles are necessary here, so I'm leaving that
alone for now.
2016-10-14 14:06:45 -07:00
docs Update tutorial.md 2016-04-04 23:04:45 -03:00
include Fix random_shuffle narrowing warnings 2016-10-14 14:06:45 -07:00
projects rebased following recent changes 2016-09-27 10:28:11 +01:00
scripts Removed unnecessary parentheses 2015-11-04 18:49:19 +00:00
single_include Build 1.5.7 2016-09-27 10:46:22 +01:00
.gitattributes Git Attributes, with control for line-endings 2013-10-18 07:53:05 +01:00
.gitignore Ignore *.xccheckout 2015-03-27 17:55:13 +00:00
.travis.yml Merge pull request #716 from jbcoe/master 2016-10-04 15:57:10 +01:00
catch-logo-small.png Added logo to readme 2013-03-21 19:12:21 +00:00
LICENSE_1_0.txt Fixed crlf issue 2013-11-07 13:05:29 +01:00
README.md Build 1.5.7 2016-09-27 10:46:22 +01:00

catch logo

v1.5.7

Build status (on Travis CI) 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