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ý
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
27fd8f80bd
Integrated INTERNAL_CATCH_THROWS_STR_MATCHES with new AssertionHandler
2017-08-09 00:44:30 +01:00
Phil Nash
5e60050299
Removed default ctors for AssertionInfo, AssertionResult and SourceLineInfo
2017-08-08 01:02:24 +01:00
Phil Nash
4421672fb8
Removed benchmark tests from approval tests (for now)
2017-08-05 11:26:20 +01:00
Phil Nash
f45d35c980
Added benchmark tests
2017-08-05 11:12:29 +01:00
Martin Hořeňovský
d01fe03ba6
Removed <algorithm> include from the main path
2017-07-28 15:11:05 +02:00
Phil Nash
6ec7709e07
removed final use of tbc_text_format (console reporter)
2017-07-20 23:13:08 +01:00
Phil Nash
58d8bc6985
Removed Text tests (TextFlow has it's own test suite)
2017-07-20 23:09:50 +01:00
Phil Nash
93556a1fb3
Removed "unapproved" baselines that got checked in at some point
2017-07-20 23:06:21 +01:00
Phil Nash
d3c7d424fe
Removed "long text" test (not a limitation of TextFlow)
2017-07-20 23:04:34 +01:00
Phil Nash
f0890dcdf8
removed redundant virtuals on override functions (and added a couple of overrides)
2017-07-20 16:23:52 +01:00
Martin Hořeňovský
74ab1cd94b
Update Baselines
2017-07-20 00:29:19 +02:00
Martin Hořeňovský
87a66b8479
Address results of PVS-Studio static analysis
...
Couple are left un-addressed, see #958 for details.
2017-07-20 00:27:28 +02:00
Martin Hořeňovský
d7f754dc49
Fix SelfTest compilation after _THROWS_ assertion change
...
That is, changes made in efd79aa0bd
2017-07-19 22:21:47 +02:00
Phil Nash
b0e3f45a22
Replaced some uses of tbc_text_format with TextFlow (from Clara)
2017-07-18 20:27:42 +01:00
Phil Nash
f193698fb3
Removed all (that I could find) redundant second macro args to TEST_CASE and SECTION
...
- now we can rely on variadic macros
2017-07-13 09:20:37 +01:00
Phil Nash
c89bdf842e
Removed failing enum test from test run
2017-07-13 09:18:40 +01:00
Phil Nash
c874a99c6c
Enabled c++11 tests in approvals
2017-07-13 08:52:51 +01:00
Phil Nash
e4456aa243
Some clean-ups
2017-07-13 08:29:12 +01:00
Martin Hořeňovský
bc73189c52
Rebase baselines to take into account the removed test
2017-07-12 16:27:09 +02:00
Martin Hořeňovský
91c1556078
Moved Catch NotImplementedException out of the common include path
...
We could probably toss it away completely, currently it is used
only by TeamCity reporter.
2017-07-12 15:05:01 +02:00
Martin Hořeňovský
fc32165d48
Started work on splitting out .cpp files from header files
2017-07-06 22:28:42 +02:00
Phil Nash
f9ce8fd03b
Added some missing cstring includes
2017-06-29 11:43:20 +01:00
Phil Nash
60f25c7ffd
Added string tests to approvals
2017-06-29 11:19:08 +01:00
Phil Nash
78e7994435
Added string classes
2017-06-29 11:18:14 +01:00
Phil Nash
c41a45e79c
Rebased following Clara changes
2017-06-12 23:13:27 +01:00
Phil Nash
1c223b63ba
Integrated (all) new version of Clara
2017-06-12 23:07:10 +01:00
Phil Nash
6d9171aadb
Updated approvals following Junit changes
2017-06-12 22:30:33 +01:00
Martin Hořeňovský
07ef028483
Update baselines
2017-06-06 15:07:57 +02:00
Martin Hořeňovský
8fde7abf31
Add tests for *_THROWS_MATCHES
...
Closes #641 , closes #818
2017-06-05 19:15:17 +02:00
Martin Hořeňovský
7f6773bb4d
Merge branch 'master' into dev-modernize
...
Hopefully nothing went too wrong.
2017-06-05 17:19:42 +02:00
Martin Hořeňovský
b459bb4c43
Silence GCC's Wunused-function firing in compilation tests
...
The whole GCC kinda sucks around warnings, this is yet another place
where pragmas manipulating warnings don't work properly and thus a
warning has to be disabled globally... luckily, this time it is
happening in selftest file and thus it isn't too problematic to just
turn that warning of for the entire file.
2017-06-05 16:59:31 +02:00
Martin Hořeňovský
1e16be0b9e
Purge deprecated generators
2017-06-05 16:49:10 +02:00
Martin Hořeňovský
377c9a746d
Cosmetic fixes (whitespace and spelling)
2017-05-27 14:42:54 +02:00
Martin Hořeňovský
ea48ae0f75
Add test for #914 (stringify truthy exprs in standard way)
2017-05-27 14:42:05 +02:00
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ý
85aa770701
Disable unreachable code warning for TrickyTests.cpp
...
Somehow this only triggers for VS 2015, Win32 | Release configuration...
2017-05-08 01:26:06 +02:00
Phil Nash
bada67bb72
Rebased approvals
2017-05-05 18:28:04 +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ý
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ý
e641485132
Updated approval tests
2017-04-29 17:54:10 +02:00
Phil Nash
51c143b2c6
Added test for assertion with comma
2017-04-26 16:12:48 +01:00
Phil Nash
8ccbf63f28
Removed Ptr, Shared and SharedImpl
2017-04-25 21:56:14 +01:00
Phil Nash
cc8206f4c3
Removed SafeBool
2017-04-25 19:30:53 +01: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
61ac34045c
Enabled SFINAE stream test
2017-04-25 14:57:58 +01:00
Phil Nash
79650e44f4
Removed more C++98/03 compatibility
2017-04-25 12:40:52 +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
Martin Hořeňovský
fc7f0a02b8
v1.9.2
2017-04-25 11:08:02 +02:00
Phil Nash
714d01c07c
approved tests that were correct the first time (previous approvals were erroneous)
2017-04-09 20:40:11 +01:00
Phil Nash
250f0ee7fb
Added approvals for “failed as expected” tests
2017-04-07 09:33:19 +01: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ý
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ý
f23b6b8b85
Don't sanitize exception type in REQUIRE_THROWS_AS
...
Effectively a revert of previous commit, fixing #542 , where this was
added to stop linters complaining about `REQUIRE_THROWS_AS` used like
`REQUIRE_THROWS_AS(expr, std::exception);`, which would be slicing the
caught exception. Now it is user's responsibility to pass us proper
exception type.
Closes #833 which wanted to add `typename`, so that the construct works
in a template, but that would not work with MSVC and older GCC's, as
having `typename` outside of a template is allowed only from C++11
onward.
2017-03-23 21:11:21 +01:00
Phil Nash
38b05f1400
Don’t assume first CL arg (exe name) is present
...
Fixes #729
2017-03-13 11:00:58 +00:00
Phil Nash
5dd0639520
Added FAIL_CHECK
...
Works like FAIL, but does not abort test.
As proposed in #765
2017-03-08 15:42:11 +00:00
Martin Hořeňovský
a2e20b07f8
"Fix" build by annotating the new test as !shouldfail
...
The quick test under ctest checks only for no tests failing, not for the
expected output.
2017-03-07 10:17:59 +01:00
Martin Hořeňovský
ace70407a2
Add tests for #835
...
Also add ErrnoGuard before `isatty` call, because apparently it can set
errno to 25 (ENOTTY).
2017-03-06 22:07:33 +01:00
Martin Hořeňovský
8b8e3ee117
Disable C4702 in Exception tests self tests
...
VS 2015 in Release mode sees through our indirection and complains.
There is no reason to make the indirectoin harder to reason about,
instead of just disabling the warning.
2017-03-06 10:52:21 +01:00
Phil Nash
9bee606dd6
Tweaked Xml Reporter to follow same success/ info behaviour as Console reporter
2017-03-03 14:12:47 +00:00
Martin Hořeňovský
be4f6ab8e1
Change reporting of CAPTURE'd variables
...
Info is not changed, intentionally.
Closes #639
2017-03-03 14:34:50 +01:00
Phil Nash
ff78e7c45a
Fixed typo in test name
2017-03-01 15:59:10 +00:00
Martin Hořeňovský
bbeb192ec9
Updated baselines
2017-02-27 16:27:43 +01:00
Martin Hořeňovský
8c07899715
Added tests for using margin with Approx.
2017-02-27 14:15:03 +01:00
Phil Nash
e058a37614
Removed stray code
2017-02-23 08:11:15 +00:00
Martin Hořeňovský
0f24a8c06f
Added Automake and TAP reporters to SelfTest's main
2017-02-22 13:28:36 +01:00
Justin Wilson
b753f05d74
Add reporter for Automake ( #826 )
...
This allows for integration with Automake's default log compiler.
See #826 for more details.
2017-02-22 11:17:25 +01:00
Phil Nash
10dfca34ac
Added first vector matchers (Contains and Equals)
2017-02-21 16:05:04 +00:00
Phil Nash
4e6938d78e
Moved matchers tests into their own file
2017-02-21 14:19:09 +00:00
Phil Nash
90b3946e9c
Add file/line to TestCase, Section and Failure elements in Xml Reporter
2017-02-17 10:26:17 +00:00
Phil Nash
5530303be7
Removed test for invoking String Matcher with NULL (this will no longer be supported)
2017-02-14 09:16:54 +00:00
Phil Nash
1cb8bafb1f
Added missing #include in test file
2017-02-13 17:43:43 +00:00
Phil Nash
873ef276b6
XML Reporter closes tag and flushes stream at end of TestCase and Section tags.
...
This fixes an issue where XML reports on stdout are broken by printf statements
2017-02-13 15:56:25 +00:00
Phil Nash
d2e814ff23
Tagged a C++11 specific test with [c++11] to exclude from approval tests (for now)
2017-02-10 19:13:45 +00:00
Phil Nash
d6b8ac5a4e
Added compilation tests to approvals
2017-02-10 11:53:29 +00:00
Martin Hořeňovský
73159ace3d
REQUIRE_THROWS_AS now catches exception by const&
...
Prevents some warnings caused by catching complex types by value.
Closes #542
2017-02-09 12:57:01 +01:00
Martin Hořeňovský
9952dda524
REQUIRE_THROWS_AS is now reported with expected type as well
...
Also updated tests to reflect this change.
2017-02-09 12:51:43 +01:00
Phil Nash
4d0cd602e3
Rebased approvals with tags and description attributes in XML report
2017-02-07 23:14:49 +00:00
Phil Nash
1f271c9944
XmlWriter reverts to XML 1.0.
...
Character encodings that are not valid in XML 1.0 are instead written using C-style escapes
2017-02-07 22:48:06 +00:00
Martin Hořeňovský
7db4d8d90c
Added tests (single char pretty printing + op overload)
...
Tests for issue #809 -- Potentional operator overload ambiguity -- and
PR #646 -- Pretty print characters.
2017-02-07 13:32:48 +01:00
Phil Nash
197bf075c4
Rebased again - against the right executable this time :-s
2017-02-06 16:25:09 +00:00
Phil Nash
1f5ec9884c
Rebased approvals following previous reversal (d’oh!)
2017-02-06 16:23:34 +00:00
Phil Nash
88b760276d
Revert "XmlWriter reverts to XML 1.0."
...
This reverts commit a189387f49
.
2017-02-06 16:21:01 +00:00
Phil Nash
23eb4cc580
Added stdout and stderr to XML Reporter
2017-02-06 16:14:06 +00:00
Phil Nash
a189387f49
XmlWriter reverts to XML 1.0.
...
Character encodings that are not valid in XML 1.0 are instead written using C-style escapes
2017-02-06 16:00:05 +00:00
Martin Hořeňovský
c390c4cb9f
Fixed inconsistent and trailing whitespace
...
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.
Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.
Fixes #105
2017-01-26 23:13:12 +01:00
Martin Hořeňovský
60a9ac7e65
Enabled previous commit under MSVC, introduced new feature toggle
2017-01-26 18:47:29 +01:00
Jonathan Coe
c06afe438e
Add support for comparison of Approx with strong typedefs
...
closes #652
2017-01-26 18:44:03 +01:00
Phil Nash
6c23a6582b
Mark CHECKed-throw test as [failing]
2017-01-24 09:53:04 +00:00
Phil Nash
7bcb42496d
Changed exception tests to allow for now throw-from-CHECK behaviour
2017-01-23 17:56:41 +00:00
Phil Nash
225e90d8ba
Don’t include tests that rely on varying two-phase-lookup behaviour in approval tests
2017-01-23 17:47:58 +00:00
Phil Nash
876af874f3
Added surrogate cpp for catch_test_case_tracker
2017-01-23 15:18:23 +00:00
Phil Nash
e7bcbb35c0
First cut of -c/—section option for running specific sections
2017-01-23 12:36:03 +00:00
Phil Nash
4a04682e49
Text formatting rework
...
Rewrote main wrapping loop. Now uses iterators instead of indices and intermediate strings.
Differentiates between chars to wrap before, after or instead of.
Doesn’t preserve trailing newlines.
Wraps or more characters.
Dropped support for using tab character as an indent setting control char.
Hopefully avoids all the undefined behaviour and other bugs of the previous implementation.
2017-01-23 12:28:40 +00:00
Martin Hořeňovský
b71a06cf98
JUnit reporter outputs timestamps now
...
Also extended approval tests script to support the change
2017-01-16 20:21:43 +01:00