Phil Nash
684cbb2631
Fixes issue with fatal errors and non-failing assertions
...
Fixes #990
2017-08-10 17:10:13 +01:00
Phil Nash
97c06ca6fb
Merge branch 'reevaluate' into dev-modernize
2017-08-10 16:18:05 +01:00
Martin Hořeňovský
3382312bd8
Remove obsoleted SCOPED_MSG
and SCOPED_CAPTURE
...
Standard `MSG` and `CAPTURE` behave the same way these used to,
and are recommended instead.
2017-08-10 17:06:32 +02:00
Martin Hořeňovský
5da76bb7be
Allow specifying default reporter at compile time
2017-08-10 16:24:31 +02:00
Martin Hořeňovský
11295a2663
Make catch_stream.hpp a standard .cpp file
2017-08-10 11:45:05 +02:00
Martin Hořeňovský
aa42dd92d1
Merge branch 'master' into dev-modernize
2017-08-10 11:34:26 +02:00
Martin Hořeňovský
7e4038d848
Capture std::clog writes and combine them with std::cerr writes ( #989 )
...
This also introduces Catch::clog() method to allow embedded targets
to override std::clog usage with their own stream (presumably null-sink),
similarly to how Catch::cout() and Catch::cerr() are used.
Fixes #989
2017-08-09 15:28:40 +02:00
Phil Nash
ee9b19efd3
Moved matcher-based capture macros into their own file
...
- this file excluded from the CATCH_CONFIG_DISABLE_MATCHERS path.
- matchers are always compiled in to the impl file
- _THROWS_WITH macros are still available with matchers disabled - but only the ones that take a string
- tests that use matchers have #ifdefs, so the whole SelfTest project can compile with matchers disable.
2017-08-09 12:10:14 +01:00
Phil Nash
b59e0ed48a
Collapsed alternate capture macros now originals are redundant
2017-08-09 11:36:33 +01:00
Phil Nash
8d21b4a916
Removed some unnecessary #includes
...
- and don't #include "catch_debugger.h" in the header path when CATCH_CONFIG_FAST_COMPILE is defined
2017-08-09 10:51:50 +01:00
Phil Nash
4b5ac4d3d9
Actually do what the previous commit claimed to do!
...
:-s
2017-08-09 10:29:05 +01:00
Phil Nash
8382d99081
Workaround for GCC 4.8 "deleted ctor in aggregate" bug
2017-08-09 10:18:31 +01:00
Phil Nash
dc1df297e3
Suppressed some warnings
...
- signed/ unsigned mismatches
- virtual destructor on ITransientExpression (even though not needed)
2017-08-09 09:29:44 +01:00
Phil Nash
8c95a81448
Removed all (well, most) of the redundant, ResultBuilder-based, code
2017-08-09 09:08:33 +01:00
Phil Nash
7df290dfc1
Integrated new AssertionHandler into unexpected exception handling in RunContext
2017-08-09 08:49:59 +01:00
Phil Nash
201028d6ec
Integrated INTERNAL_CATCH_THROWS with new AssertionHandler
2017-08-09 00:52:20 +01:00
Phil Nash
27fd8f80bd
Integrated INTERNAL_CATCH_THROWS_STR_MATCHES with new AssertionHandler
2017-08-09 00:44:30 +01:00
Phil Nash
ef4fa56b71
integrated INTERNAL_CATCH_THROWS_MATCHES with new AssertionHandler
2017-08-08 23:41:55 +01:00
Phil Nash
9668410b8e
integrated INTERNAL_CHECK_THAT with new AssertionHandler
2017-08-08 23:31:43 +01:00
Phil Nash
2832e23aa9
Restored exceptionGuard functionality under CATCH_CONFIG_FAST_COMPILE
2017-08-08 21:07:30 +01:00
Phil Nash
5f91724368
integrated AssertionHandler into INTERNAL_CATCH_MSG
2017-08-08 20:17:09 +01:00
Phil Nash
8a97beece2
integrated AssertionHandler into INTERNAL_CATCH_THROWS_AS
2017-08-08 19:43:07 +01:00
Phil Nash
f033f4f184
integrated AssertionHandler into INTERNAL_CATCH_NO_THROW
2017-08-08 19:36:18 +01:00
Phil Nash
f247ce5bff
First cut of new AssertionHandler/ Decomposer
...
- integrated into INTERNAL_CATCH_TEST. Needs more work to fully replace existing stuff
2017-08-08 17:53:01 +01:00
Phil Nash
f8148ebae1
Made macroName and capturedExpression StringRefs
2017-08-08 01:22:21 +01:00
Phil Nash
59f9bcf1ed
Reduced AssertionInfo to a pure record type
2017-08-08 01:08:07 +01:00
Phil Nash
5e60050299
Removed default ctors for AssertionInfo, AssertionResult and SourceLineInfo
2017-08-08 01:02:24 +01:00
Phil Nash
e658bacb04
Refactored how FAST_COMPILE affects internal test macros (less duplication)
2017-08-07 00:09:54 +01:00
Phil Nash
3a409e9fd4
Suppress more signed/ unsigned mismatches during Evaluator calls on MSVC
2017-08-06 00:38:03 +01:00
Phil Nash
63392e095e
Refactored Evaluator templates to only be specialised on Op, with Lhs/Rhs types templated on method instead
2017-08-06 00:29:37 +01:00
Phil Nash
0a2ce87d32
Removed compare layer from expression evaluation
2017-08-06 00:13:00 +01:00
Phil Nash
b3b29f4b4c
Use size_t for String size types
2017-08-05 22:53:21 +01:00
Phil Nash
cff3818e68
Correctly handle special tags that also imply being hidden (!benchmark)
2017-08-05 22:24:17 +01:00
Phil Nash
519db85758
Report benchmark durations in natural units
...
(and extended StringRef to be able to report utf8 char lengths
2017-08-05 21:41:56 +01:00
Phil Nash
4421672fb8
Removed benchmark tests from approval tests (for now)
2017-08-05 11:26:20 +01:00
Phil Nash
22e9ebef0d
Factored table writing code out into a TablePrinter class (removes a lot of magic numbers and ad-hoc formatting)
2017-08-04 23:54:51 +01:00
Phil Nash
97d6b08087
Changed clock resolution estimator to return uint64_t
2017-08-04 21:31:28 +01:00
Phil Nash
a9b6813ad9
First draft of (experimental) benchmarking support
2017-08-04 19:23:30 +01:00
Phil Nash
a1e3f0b624
Moved Timer impl back to cpp
...
(I thought it wasn't included on the non-main path, but it is)
2017-08-04 13:53:47 +01:00
Phil Nash
39d37d9f34
Timer resolution is now nanoseconds
2017-08-04 12:22:16 +01:00
Phil Nash
c7028f7bc7
Made most of Timer class inline - and export getCurrentMicrosecondsSinceEpoch()
2017-08-04 12:16:05 +01:00
Phil Nash
5450de2acd
Added some missing override
s and removed some virtual
s from overrides
2017-08-04 12:13:58 +01:00
Martin Hořeňovský
3882ac1a19
Include proper exception header in enforce.h
2017-08-02 00:26:52 +02:00
Martin Hořeňovský
e8b785b177
Fixup bad merge in 2212cdfe
2017-08-02 00:04:26 +02:00
Anton Vorobyev
eab56d6656
Initial support for native IBM i ILE C++ ( #976 )
...
* - Initial support for native IBM i ILE C++
Signed-off-by: zeromem <zeromem2@gmail.com>
2017-08-01 22:49:27 +02:00
Neal Coombes
2212cdfe26
Eliminate some work when results won't be reported.
2017-08-01 22:49:27 +02:00
Fran García Salomón
4f72202c04
Fix for JUnit reporter when using dynamically generated sections ( #963 )
...
* BySectionInfo should also take into account the section name in addition to the source code line
2017-08-01 22:25:16 +02:00
Martin Hořeňovský
249bf116e8
Route all T* comparisons through const void* comparisons
...
This should stop the evaluate machinery from instantiating all the
templates for every ptr type that is compared, instead generating it
for single one.
2017-08-01 22:09:32 +02:00
Martin Hořeňovský
6d4673505d
Add missing <algorithm> include in catch_approx.hpp
2017-08-01 22:02:00 +02:00
Martin Hořeňovský
85e14c5fb5
Move some compile-time dispatch to runtime
...
The runtime performance is likely to be negligible,
but compile times need every improvement they can get.
2017-08-01 21:58:09 +02:00