Tiago Macarios 0b993d7436 Fix catch exception by reference
When compiling our codebase with clang we were getting the following
error:

GSL/tests/algorithm_tests.cpp:198:58: warning: catch handler catches by
value; should catch by reference instead
[misc-throw-by-value-catch-by-reference]
    CHECK_THROWS_AS(copy(src_span_dyn, dst_span_static), fail_fast);
                                                             ^
Looking at the catch source code exceptions were being caught by value.
One could have it designed so that users might say:

CHECK_THROWS_AS(copy(src_span_dyn, dst_span_static), fail_fast&);

But I don't think this is the intent and looking at the Catch tests
itself looks like this macro does not expect the reference:

    REQUIRE_THROWS_AS( thisThrows(), std::domain_error );
    CHECK_THROWS_AS( thisDoesntThrow(), std::domain_error );

This commit makes Catch catch exceptions by reference instead of by
value.
2017-10-24 20:58:23 -07:00
2017-10-24 20:00:27 +02:00
2017-10-24 20:58:23 -07:00
2017-10-24 20:58:23 -07:00
2017-08-27 11:43:55 +02:00
2017-08-26 15:34:18 +02:00
2017-08-26 15:34:18 +02:00
2017-02-21 08:52:08 +00:00
2017-03-01 16:47:04 +00:00
2017-03-01 16:47:04 +00:00
2017-03-01 17:00:33 +00:00
2017-08-17 07:45:12 +01:00
2017-08-26 15:34:18 +02:00

catch logo

Github Releases Build Status Build status Try online

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

Help us out

We're currently running a survey to help us shape the future of Catch. Please take a few moments to fill it out (there's only ten questions).

Description
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)
Readme 62 MiB
Languages
C++ 90.2%
CMake 5.4%
Python 3.2%
Meson 0.7%
Starlark 0.3%