Tomas Zeman
95c849f613
Introduce support for DJGPP cross compiler
...
DJGPP cross compiler is targeting DOS which does not support POSIX
signals. Probably for the same reason (targeting DOS) this compiler
does not support wide characters.
2018-03-07 10:35:32 +01:00
Tomas Zeman
352853ed7e
Introduce conditional wchar_t (and std::wstring) support
...
The support is turned on by default but the user might need to be able
to turn it off which is now possible by defining CATCH_CONFIG_NO_WCHAR.
2018-03-07 10:35:31 +01:00
Josh Soref
b11175548a
Fixup various spelling errors ( #1208 )
2018-03-07 10:08:35 +01:00
Bastian Dörig
d38f782995
Ensure Catch2ConfigVersion.cmake is installed properly
...
The old version would lead to error when Catch was installed
as a subproject. The file would be written to the subproject's
build directory and then would not be installed properly.
2018-03-07 09:42:58 +01:00
Martin Hořeňovský
dc8a8e6371
Speed up AppVeyor build times
...
* Examples are no longer built for all images
* Coverage is no longer collected from every build
* The number of configurations is reduced
2018-03-06 22:46:49 +01:00
Martin Hořeňovský
9d1858b195
Simplify internal configuration of POSIX signals
2018-03-06 17:58:37 +01:00
Martin Hořeňovský
1d1f8dc992
Stop installing lcov in builds without COVERAGE=1
2018-03-06 15:38:22 +01:00
Martin Hořeňovský
1466686ade
Speed up TravisCI build
...
* Examples are no longer built on all travis images
* Coverage is no longer collected from all travis images
* Valgrind is no longer used with all travis images
This should greatly reduce the amount of compiling, downloading
binaries and general work the common images do.
2018-03-06 15:24:12 +01:00
Martin Hořeňovský
93db01c647
Fix C++14 toggle for OSX build
2018-03-05 15:09:25 +01:00
Martin Hořeňovský
2e285b9579
Use char const * const * for Session::run
...
Needed to embed newer version of Clara
Closes #1178
Closes #1031
2018-03-04 17:58:27 +01:00
Martin Hořeňovský
d2ddb997a7
Cleanup for performance reasons
...
* Eliminated some copies
* Made makeTestCase fit into 4 arguments -- avoids spills on Win64
* Made string literals into StringRef literals
2018-03-02 16:24:35 +01:00
Tomas Zeman
865d5f59b4
Fix 'defined but not used' warning
...
The warning occurred when !CATCH_CONFIG_WINDOWS_SEH
&& !CATCH_CONFIG_POSIX_SIGNALS.
2018-03-01 13:37:23 +01:00
Martin Hořeňovský
05cd05743a
Provide a public method to get StringRef's underlying pointer
...
This allows reducing the amount of friends needed for its interface
and some extra tricks later.
The bad part is that the pointer can become invalidated via
calls to other StringRef's public methods, but c'est la vie.
2018-02-28 22:49:00 +01:00
Martin Hořeňovský
950ccf4749
StringRef appends itself to std::string efficiently
2018-02-28 16:02:25 +01:00
Martin Hořeňovský
cf4b7eead9
Document CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS macro
...
Also fix how it can be disabled.
2018-02-25 21:22:38 +01:00
Martin Hořeňovský
7b6e49d795
Simplify logic selecting between signal handling/SEH/nothing
...
It was a bit of a mess previously
2018-02-23 14:56:07 +01:00
Martin Hořeňovský
0c5df42c28
Fix how windows.h is included in our files.
...
To prevent bugs with stitching system headers inside Catch,
the proxy header is responsible for guarding against inclusion
on Linux, rather than the includers.
Might be related to #1197
2018-02-23 12:40:12 +01:00
Martin Hořeňovský
4e57661919
StringRef will not take ownership when writing itself to stream
...
This also fixes some tests that were previously failing unnoticed - WTF?
2018-02-17 20:41:50 +01:00
Martin Hořeňovský
5a8f9c84dd
Fix doubled line in baselines
2018-02-16 22:10:39 +01:00
Martin Hořeňovský
f988b4eb35
Covered more translation possibilities
2018-02-15 19:58:49 +01:00
Martin Hořeňovský
c8d765a575
Cleanup some tests
2018-02-15 16:06:35 +01:00
Martin Hořeňovský
da783abee9
Move fallback conversion after enum-check
2018-02-15 16:06:35 +01:00
Martin Hořeňovský
c0267e5c20
Add test for overriding the fallback stringifier
2018-02-15 16:06:35 +01:00
Phil Nash
bb84f0788a
Removed unnecessary use of ostringstream from catch_enforce.h
2018-02-15 13:59:02 +00:00
Nils Deppe
e84768fff1
Add SpECTRE project to list of users.
2018-02-14 08:31:33 +01:00
Martin Hořeňovský
31673ee0ca
Document CATCH_CONFIG_DEFAULT_REPORTER macro
2018-02-11 18:10:28 +01:00
Martin Hořeňovský
34d7a33574
Add a way to change fallback stringifier
...
This allows reuse of projects existing stringification machinery
Closes #1024
2018-02-11 16:31:12 +01:00
Martin Hořeňovský
082c3b84bc
Fix typos in documentation
2018-02-10 22:16:32 +01:00
Martin Hořeňovský
ef2e112561
Disable POSIX signals for Emscripten
...
Related to #1114
2018-02-10 20:42:08 +01:00
Martin Hořeňovský
a90305f857
Add another known bug to limitations.md
...
Related to #1183
2018-02-10 13:51:33 +01:00
Martin Hořeňovský
543c9d3a67
Set patch coverage check to target 80%
2018-02-09 20:09:55 +01:00
dvirtz
ca8470fbad
https://github.com/catchorg/Catch2/issues/1175 - don't list hidden tests by default
2018-02-09 19:55:40 +01:00
dvirtz
355b3f9952
Add option to warn when no tests ran
...
Closes #1158
2018-02-09 18:49:36 +01:00
Martin Hořeňovský
7cbd0b587a
v2.1.2
2018-02-09 17:10:27 +01:00
Martin Hořeňovský
2f15ccd4d3
Passthrough error code from coverage helper
2018-02-09 16:54:10 +01:00
Martin Hořeňovský
8f3fc15b73
Update version of Clara
...
Fixes #1165
2018-02-09 16:50:19 +01:00
Martin Hořeňovský
e13d9cab02
Keep .py files with LF endings so they can be executed from bash
2018-02-09 16:49:35 +01:00
Martin Hořeňovský
414e2fa946
Make embedClara.py executable
2018-02-09 16:49:21 +01:00
Martin Hořeňovský
b5ef68b044
Force MSVC to use utf-8
2018-02-08 15:44:33 +01:00
Martin Hořeňovský
681f5daa13
Update approval tests
2018-02-08 15:00:56 +01:00
Martin Hořeňovský
3b6fda3c1b
Add tests for StringRef::numberOfCharacters
2018-02-08 13:10:12 +01:00
Martin Hořeňovský
1b2fa601c6
Remove superfluous comment
2018-02-08 13:09:02 +01:00
Daniel J. Rollins
39bfc6e82b
Export Catch as a CMake package and 'linkable' target
...
Create a namespaced Catch2::Catch target that is 'linkable' through
`target_link_libraries()` and export it so it is findable through
`find_package()`.
`find_package()` will find versions with the same major number and with
minor number >= requested.
This makes catch a lot easier to use in CMake-based projects. Whether it
is found using `find_package` or included in the client project as a
subdirectory, the client can include the catch headers per-target with
`target_include_directories(target PRIVATE Catch2::Catch).
Example usage:
cmake_minimum_required(VERSION 3.1)
# include Catch2 as subdirectory or installed package
# add_subdirectory(Catch2)
find_package(Catch2 VERSION 2.1.0 REQUIRED)
add_executable(tests tests/catch_main.cpp)
target_link_libraries(tests PRIVATE Catch2::Catch)
2018-02-08 12:18:42 +01:00
Martin Hořeňovský
ba6d33fb8c
Enable -Wpedantic, fix unconditional use of C++14 extension
2018-02-05 10:04:59 +01:00
Zachary Michaels
4be81d3588
Remove unnecessary semicolons
2018-02-05 10:03:51 +01:00
Josh Lospinoso
5201e92564
Redirect std::uncaught_exception to Catch::uncaught_exception
...
This means that only one place needs to work with warnings from
the deprecation of `std::uncaught_exception()` in C++17.
Closes #1162 .
2018-02-02 15:36:15 +01:00
Martin Hořeňovský
5e484862f2
Add Catch::is_range to documentation
2018-02-01 20:29:49 +01:00
philsquared
5713381d06
Fixes for cygwin
2018-02-01 16:14:20 +00:00
Martin Hořeňovský
1ab6be30a2
Add a BrightYellow colour, also use it for reconstructed exprs
...
Closes #979
2018-02-01 14:58:33 +00:00
Martin Hořeňovský
126850e76b
Prefer operator<< to range-based stringification
...
Fixes #1172
2018-02-01 14:07:23 +01:00