Commit Graph

190 Commits

Author SHA1 Message Date
Phil Nash
78e7994435 Added string classes 2017-06-29 11:18:14 +01:00
Phil Nash
1c223b63ba Integrated (all) new version of Clara 2017-06-12 23:07:10 +01:00
Martin Hořeňovský
7f6773bb4d Merge branch 'master' into dev-modernize
Hopefully nothing went too wrong.
2017-06-05 17:19:42 +02:00
Martin Hořeňovský
1e16be0b9e Purge deprecated generators 2017-06-05 16:49:10 +02:00
Martin Hořeňovský
da0edcbe25 Collect startup exceptions instead of throwing them
Previously, some errors in Catch configuration would cause exceptions to
be thrown before main was even entered. This leads to call to
`std::terminate`, which is not a particularly nice way of ending the
binary.

Now these exceptions are registered with a global collector and used
once Catch enters main. They can also be optionally ignored, if user
supplies his own main and opts not to check them (or ignored them
intentionally).

Closes #921
2017-06-04 21:39:27 +02:00
Martin Hořeňovský
ea48ae0f75 Add test for #914 (stringify truthy exprs in standard way) 2017-05-27 14:42:05 +02:00
Antonio Di Monaco
b8443e67da Added Win32 UNICODE wmain support (#903)
* Added wmain support
* Added appveyor.yml wmain configuration
* Added wmain configuration flag to CMake
2017-05-11 13:00:03 +02:00
Martin Hořeňovský
9ceae8f51f CMake binaries are now conditionally enabled
Defining NO_SELFTEST=1 when cmake configuration is being done now turns
off SelfTest and Benchmark executables. This is for projects that
consume Catch using ExternalProject_Add and don't want to build our
selftest binaries for their unit test suite.

Closes #897
2017-04-28 20:27:10 +02:00
Phil Nash
8ccbf63f28 Removed Ptr, Shared and SharedImpl 2017-04-25 21:56:14 +01:00
Phil Nash
97707afae1 Removed catch_type_traits from CMakeLists.txt 2017-04-25 11:09:06 +01:00
Phil Nash
073377a4e4 CMake defaults to C++11 2017-04-25 11:07:02 +01:00
Rian Quinn
79ce6930a2 remove redundant "/"
This "/" is not needed as CMake adds this automatically
2017-03-23 21:18:07 +01:00
Martin Hořeňovský
613e1466f9 Save errno before using sprintf, ifstream.
std::ifstream in libstdc++ contains a bug, where it sets errno to zero.
To work around it, we manually save the errno before using std::ifstream
in debugger check, and reset it after we are done.

We also preventively save errno before using sprintf.

Fixes #835
2017-03-06 21:51:22 +01:00
Martin Hořeňovský
932a405e18 /Wx -> /WX (stupid typo) 2017-03-06 11:29:57 +01:00
Martin Hořeňovský
9a037204fa Enable /Wx (Warnings as error) for SelfTest builds 2017-03-06 11:21:35 +01:00
philsquared
6fea473414 Fixed CMake generation of MSVC warning levels 2017-03-06 08:35:14 +00:00
Phil Nash
68e7fdce20 Added 4265 to specific warnings in VS 2017-03-06 08:21:52 +00:00
Martin Hořeňovský
b0260c615d Fixed-up TAP reporter a bit. 2017-02-22 13:28:13 +01:00
Justin Wilson
b753f05d74 Add reporter for Automake (#826)
This allows for integration with Automake's default log compiler.

See #826 for more details.
2017-02-22 11:17:25 +01:00
Phil Nash
10dfca34ac Added first vector matchers (Contains and Equals) 2017-02-21 16:05:04 +00:00
Phil Nash
4e6938d78e Moved matchers tests into their own file 2017-02-21 14:19:09 +00:00
Phil Nash
1400127d6f Extracted string matchers impl into cpp that is only compiled into main TU 2017-02-14 09:16:54 +00:00
Phil Nash
7fed25ad1f New Matchers implementation
- simpler
- less templates and machinery
- no cloning, copying or unnecessary heap allocations
- better factored
2017-02-14 09:16:54 +00:00
Martin Hořeňovský
73159ace3d REQUIRE_THROWS_AS now catches exception by const&
Prevents some warnings caused by catching complex types by value.

Closes #542
2017-02-09 12:57:01 +01:00
Martin Hořeňovský
7db4d8d90c Added tests (single char pretty printing + op overload)
Tests for issue #809 -- Potentional operator overload ambiguity -- and
PR #646 -- Pretty print characters.
2017-02-07 13:32:48 +01:00
Saad K
7dd4f2977a Added INSTALL commands (#788)
Added INSTALL commands - this is especially useful when adding dependencies (such as CATCH) by using the ExternalProject_Add command
2017-01-31 20:22:45 +01:00
Martin Hořeňovský
50c95a0143 Bumped min cmake version to 3.0
Now we can use target_compile_option to privately add warnings to our
build, without polluting outside CXX_FLAGS.
2017-01-31 20:21:03 +01:00
Martin Hořeňovský
7ae96c710b Returned basic warnings to CMake generated builds 2017-01-31 17:37:27 +01:00
Martin Hořeňovský
dab1d9d222 Added CheckFileList in CMake over the benchmark sources 2017-01-25 23:02:25 +01:00
Martin Hořeňovský
4ce11d63a6 Merge branch 'dev-performance' 2017-01-25 22:56:36 +01:00
Phil Nash
876af874f3 Added surrogate cpp for catch_test_case_tracker 2017-01-23 15:18:23 +00:00
Martin Hořeňovský
531d26739f Added the new proxy header to CMakeLists.txt 2017-01-16 19:56:57 +01:00
Martin Hořeňovský
e6ef60a2c4 CMake will now warn if a file is in folder, but not in variable 2017-01-15 22:07:36 +01:00
Martin Hořeňovský
3b7511e564 First commit of benchmarks for Catch runtime perf.
So far its very much a WIP with some problems that are known already and
not very representative tests.
2017-01-14 21:55:37 +01:00
Phil Nash
d5360e8e29 Sorted file lists in CMakeLists.txt for easier maintainence 2017-01-12 11:54:53 +00:00
Phil Nash
0bcae64d3d Set project name in CMakeLists.txt to CatchSelfTest 2017-01-09 17:38:42 +00:00
Phil Nash
8abe17a393 CMake project groups test files separately from surrogate impl files for nicer rendering as XCode/ VS projects 2017-01-09 17:38:42 +00:00
Phil Nash
e1fbbe1590 Added headers to CMake project (for CLion) 2017-01-06 16:59:18 +00:00
Phil Nash
c8fefc4670 Fixed Travis and CMake after moving CMakeLists.txt 2017-01-06 16:19:20 +00:00
Phil Nash
64193078bc Moved CMake into root folder (where it’s much happier - especially for CLion) 2017-01-06 16:00:00 +00:00