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
bada67bb72
Rebased approvals
2017-05-05 18:28:04 +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
51c143b2c6
Added test for assertion with comma
2017-04-26 16:12:48 +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
Martin Hořeňovský
de348b9bdd
Removed VS 2013 from AppVeyor
...
Does not support C++11 properly enough
2017-04-25 21:28:12 +02:00
Martin Hořeňovský
c1835ec203
Removed gcc 4.7 from travis
...
It wasn't able to deal with C++11 properly
2017-04-25 21:27:29 +02: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
Martin Hořeňovský
53864dee7b
Fix MSVC compilation error
...
MSVC's `std::vector` requires its allocator to have copy constructor
from the same allocator kind, but templated over different type.
2017-04-25 19:54:22 +02:00
Martin Hořeňovský
b245eaa7d1
Fix double-to-float conversion warning in tests
2017-04-25 17:48:28 +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
61ac34045c
Enabled SFINAE stream test
2017-04-25 14:57:58 +01:00
Phil Nash
569d355b36
Removed C++11 config macro docs
2017-04-25 14:57:47 +01: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
Phil Nash
f57f96f190
Removed pre-C++11 versions of Clang (3.4) and GCC (4.4)
2017-04-25 12:10:04 +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
97707afae1
Removed catch_type_traits from CMakeLists.txt
2017-04-25 11:09:06 +01:00
Phil Nash
1f3ba8a0b6
Converted (almost) all for-loops with iterators or indices to range-based
2017-04-25 11:07:02 +01:00
Phil Nash
073377a4e4
CMake defaults to C++11
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