Martin Hořeňovský
d7eb041ab5
Fix compilation on non-OSX platforms
2017-05-08 00:54:53 +02:00
Phil Nash
8c757cc542
Removed need for Error class to capture stream inserted strings into exceptions
2017-05-05 18:39:49 +01:00
Phil Nash
4c5af2089a
Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based)
...
replaced all ad-hoc exceptions (where appropriate) with CATCH_ENFORCE or CATCH_INTERNAL_ERROR - no explicit ostringstreams.
2017-05-05 15:43:31 +01:00
Phil Nash
687437fcd1
converted IStreamingReporter to unique_ptr
2017-05-05 15:43:31 +01:00
Phil Nash
ef8b72c949
Changed dynamic_pointer_casts to static_pointer_casts
2017-05-05 15:43:31 +01:00
Martin Hořeňovský
a9128d0fac
More macros are now variadic
...
Also added tests for them
2017-05-03 19:10:27 +02:00
Martin Hořeňovský
c5c3d368a2
Added std:: qualification to nullptr_t
...
Apparently Clang doesn't like it unqualfied 😄
2017-05-03 00:29:36 +02:00
Martin Hořeňovský
33ed1773f4
Reworked stringification layer, removed Catch::toString
...
Now the order of stringification checks is
1) StringMaker specialization
2) operator<<
toString overloads and specializations have been removed.
2017-05-02 23:51:03 +02:00
Phil Nash
316cb28ea8
Added missing <memory> includes
2017-04-26 17:04:00 +01:00
Phil Nash
d17d94e45d
Made INTERNAL_CATCH_TEST variadic so commas in assertions work
2017-04-26 16:10:18 +01:00
Phil Nash
8ccbf63f28
Removed Ptr, Shared and SharedImpl
2017-04-25 21:56:14 +01:00
Phil Nash
851e40a4bb
migrated Pattern to std::shared_ptr
2017-04-25 21:56:14 +01:00
Phil Nash
0807a6910f
migrated ITracker to std::shared_ptr
2017-04-25 21:56:14 +01:00
Phil Nash
44cccde8b9
Migrated ITestCase to std::shared_ptr
2017-04-25 21:56:14 +01:00
Phil Nash
0844d6e867
Migrated IStreamingReporter from Ptr to std::shared_ptr
2017-04-25 21:56:14 +01:00
Phil Nash
a96f25c716
Some listener and factory clean-ups
2017-04-25 21:56:14 +01:00
Phil Nash
dd78824697
Migrated IReporterFactory to std::shared_ptr
2017-04-25 21:56:14 +01:00
Phil Nash
338ba6b9ba
Migrated Config and IConfig to shared_ptr (from Ptr)
2017-04-25 21:56:14 +01:00
Phil Nash
41afd0c3d4
Removed copy ctor, assignment operator and swap from TestCaseInfo
2017-04-25 21:56:14 +01:00
Phil Nash
602b62f037
Removed legacy reporter support
2017-04-25 21:56:14 +01:00
Phil Nash
e749724a11
A load more C++11 tweaks - mostly moving initialisations from constructors to inline
2017-04-25 19:30:53 +01:00
Phil Nash
cc8206f4c3
Removed SafeBool
2017-04-25 19:30:53 +01:00
Phil Nash
be0fc60c07
Updated version number for v2 development and removed single include (for now).
2017-04-25 14:43:13 +00:00
Phil Nash
5c8ea03cc8
Removed debug break support for PowerPC Macs
2017-04-25 12:27:26 +01:00
Phil Nash
242022460d
Use std::chrono for Timer to eliminate platform dependency
2017-04-25 12:24:34 +01:00
Phil Nash
67005d290c
Removed more redundant compatibility stuff from timer
2017-04-25 12:13:16 +01:00
Martin Hořeňovský
71df66365e
Gutted catch_compiler_capabilities
...
All C++11 toggles are now removed. What is left is either platform
specific (POSIX_SIGNALS, WINDOWS_SEH), or possibly still needed
(USE_COUNTER).
If current CLion is compatible with `__COUNTER__`, then we should also
force `__COUNTER__` usage.
Changed
* CATCH_AUTO_PTR -> std::unique_ptr
* CATCH_OVERRIDE -> override
* CATCH_NULL -> nullptr
* CATCH_NOEXCEPT -> noexcept
* CATCH_NOEXCEPT_IS -> noexcept
Removed
* CATCH_CONFIG_CPP11_UNIQUE_PTR
* CATCH_CONFIG_CPP11_SHUFFLE
* CATCH_CONFIG_CPP11_TYPE_TRAITS
* CATCH_CONFIG_CPP11_OVERRIDE
* CATCH_CONFIG_CPP11_LONG_LONG
* CATCH_CONFIG_CPP11_TUPLE
* CATCH_CONFIG_CPP11_IS_ENUM
* CATCH_CONFIG_CPP11_GENERATED_METHODS
* CATCH_CONFIG_CPP11_NOEXCEPT
* CATCH_CONFIG_CPP11_NULLPTR
* CATCH_CONFIG_VARIADIC_MACROS
2017-04-25 12:43:19 +02:00
Phil Nash
1f3ba8a0b6
Converted (almost) all for-loops with iterators or indices to range-based
2017-04-25 11:07:02 +01:00
Martin Hořeňovský
6a09425de1
Remove C++98 backcompat from evaluate
2017-04-25 11:28:40 +02:00
Martin Hořeňovský
c6e5738d54
Remove c++98 backcompat from timer
2017-04-25 11:25:49 +02:00
Martin Hořeňovský
c6980ec2d8
Remove C++98 backcompat from toString
2017-04-25 11:21:22 +02:00
Martin Hořeňovský
7c900660ef
Removed superfluous reimplementation of type traits
2017-04-25 11:19:01 +02:00
Martin Hořeňovský
2fdd81a33f
Removed C++98 backcompat from Approx
...
Now it always uses type traits to work with all types convertible to
double
2017-04-25 11:11:26 +02:00
Martin Hořeňovský
fc7f0a02b8
v1.9.2
2017-04-25 11:08:02 +02:00
Phil Nash
211b330346
Don’t unconditionally #include <stdint.h> (as earlier MSVC don’t have it)
2017-04-25 08:43:14 +01:00
Phil Nash
d36fe214a6
Further tweaked alignment hack for Option
2017-04-25 08:38:25 +01:00
Martin Hořeňovský
a34c053f0a
All of Approx's member functions now accept strong typedefs
...
Previously `Approx::operator()`, `Approx::epsilon`, `Approx::margin` and
`Approx::scale` didn't.
Closes #888
2017-04-24 22:01:45 +02:00
Phil Nash
eedcc82d31
Tweaked storage alignment "workaround" a bit more in Option.
2017-04-21 07:19:39 +01:00
Martin Hořeňovský
b95163bd3a
Don't enable POSIX signals under QNX
...
Fixes #889
2017-04-20 21:02:25 +02:00
Phil Nash
2809be87cc
“fixed” alignment in Option
2017-04-20 14:39:07 +01:00
Phil Nash
2bf30e9e5a
Use (locally defined) UInt64 instead of uint64_t
...
- typedefs long long for MSVC
- typedefs uint64_t otherwise
Should probably do finer grained compiler checking - but this should at least be better than what was there before
2017-04-11 15:06:25 +01:00
Martin Hořeňovský
c6990cdf91
v1.9.1 release
2017-04-09 21:25:20 +02:00
Martin Hořeňovský
da8786b8fd
Unexpected exception are no longer ignored by default
...
What an embarassing bug, I'll have to look into why it wasn't caught by
any of Catch's self-tests.
Fixes #885 and closes #887 (duplicate)
2017-04-09 21:20:58 +02:00
Martin Hořeňovský
1b03c5ab6a
v1.9.0 release
2017-04-07 22:56:36 +02:00
Martin Hořeňovský
8f85d08e9f
Give up on _Pragma for gcc, force disable Wparentheses in all TUs
2017-04-05 21:37:27 +02:00
Sergey Semushin
94425ad59b
Add opt-in c++11 stream insertable check. ( #877 )
...
* Add opt-in c++11 stream insertable check.
To opt-in, define CATCH_CONFIG_CPP11_STREAM_INSERTABLE_CHECK.
Opt-in fixes #872 and should fix #757 as well.
2017-04-05 09:53:10 +02:00
Martin Hořeňovský
0354d50278
Added templated constructor to C++11 Approx
...
When using C++11, comparison operators are already templated to take
anything that can be explicitly converted to double, but constructor
took only doubles. This lead to warnings when an `Approx` was
constructed from floats, which was problematic for some users.
Since just adding float constructor would be a large breaking change, as
suddenly `Approx( 1 )` would become ambiguous, I added a templated
constructor that will take anything that is explicitly convertible to
double. This has the added benefit of allowing constructing `Approx`
instances from instances of strong typedefs, ie allowing
`calculated_temp == Approx( known_temp)`.
Closes #873
2017-04-04 15:19:15 +02:00
Martin Hořeňovský
cdd83c2e15
Fmt and tag fixup for #876
...
Github wouldn't let me push to the PR, probably because it was made from
fork of a fork...
2017-04-04 11:31:13 +02:00
dvirtz
9a07dde16d
print messages when unexpected exceptions are thrown
2017-04-04 11:27:19 +02:00
Martin Hořeňovský
6e091d3991
Reset the UnexpectedException report state
2017-04-03 11:48:50 +02:00