Martin Hořeňovský
67914d8b86
Move back to static StringMaker<T>::convert
...
This avoids some breakage from the modernization
2017-05-21 23:40:05 +02:00
Martin Hořeňovský
f82e312552
Attempt at fixing compilation on OSX
...
Since I don't have actual access to OSX, this might be a tad optimistic.
2017-05-08 01:08:07 +02:00
Martin Hořeňovský
bffef1bffa
Fix alignment for Catch::Option
...
This is so much easier in C++11...
2017-05-08 00:59:44 +02:00
Martin Hořeňovský
7e14232924
Fix C4702 (unreachable code) in generators
...
Generators might get removed anyway, but at least compilation wont
trigger Wx on MSVC in the meantime.
2017-05-08 00:58:44 +02:00
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
Martin Hořeňovský
40130e59b4
Fix order of arguments in CATCH_FAIL macro
2017-04-28 18:33:52 +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
e6094a9503
migrated (Reporter) Nodes to std::shared_ptr
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
Martin Hořeňovský
e1bca7017d
Most of Assertion macros are now variadic
...
This means that `REQUIRE(std::vector<int>{1, 2} == std::vector<int>{1,
2});` works as expected.
Note that assertion macros taking more than 1 argument are currently not
variadic, because variadic args have to come last, which would make the
interface of these ugly: `REQUIRE_THROWS_AS(std::exception const&, ....
)`
2017-04-25 20:20:46 +02: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
79650e44f4
Removed more C++98/03 compatibility
2017-04-25 12:40:52 +01: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
e5c5a636a9
junit reporter does not count exceptions as failures if ok-to-fail
2017-04-11 15:47:42 +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