Martin Hořeňovský
0b1f1b1003
Add ULP and margin matcher
...
Closes #1074
2017-11-10 18:33:00 +01:00
Martin Hořeňovský
22ac9d2184
Approx cleanup: More tests, INFINITY handling, etc
2017-11-01 07:30:11 +01:00
Martin Hořeňovský
11f716f28d
Make Approx::margin inclusive
...
Fixes #952 , related to #980
2017-10-31 14:49:00 +01:00
Phil Nash
05b1ca2884
Fixed expansion of _FALSE binary expression
...
- see #1051
2017-10-13 19:45:19 +01:00
Phil Nash
c2b7bd15c0
Changed rhs expression capture from universal ref to const ref.
...
- addresses #1027
2017-10-13 14:16:14 +01:00
Martin Hořeňovský
17cdf20968
Mark part of std::chrono stringification tests nonportable
2017-10-09 14:56:23 +02:00
Martin Hořeňovský
760a25e813
Fix baseline for file where std::pair stringification is not enabled
2017-10-09 13:12:50 +02:00
Martin Hořeňovský
79b405fd3f
Add stringification for std::chrono::{duration,time_point}
...
Also hides std::chrono, std::pair and std::chrono::* behind
new configuration macros, CATCH_CONFIG_ENABLE_*_STRINGMAKER
to avoid dragging in <utility>, <tuple> and <chrono> in common
path, unless requested.
2017-10-09 13:03:29 +02:00
Martin Hořeňovský
9aa96712ae
Sweep out some extra warnings
...
Swept:
`-Wpadded` in some places (where it caused extra size, instead of just
saying "hey, we padded struct at the end to align, just as standard says")
`-Wweak-vtables` everywhere (Clang)
`-Wexit-time-destructors` everywhere (Clang)
`-Wmissing-noreturn` everywhere (Clang)
The last three are enabled for Clang compilation going forward.
Also enabled `-Wunreachable-code` for Clang and GCC
2017-09-07 17:25:15 +02:00
Phil Nash
6105282c4f
Removed function pointer comparison test from approvals as it has different serilaisation behaviour in MSVC
2017-09-07 15:04:30 +01:00
Martin Hořeňovský
b000411434
Stop accepting non-const comparison operators
...
A) non-const comparison operators should not exist and should not be
encouraged
B) The logic breaks comparing function pointers certain way
C) It was inconsistent anyway, as it only applied to `==` and `!=`
Closes #925
2017-09-06 15:01:03 +02:00
Martin Hořeňovský
aef2e4d9e7
Update baselines
2017-09-02 20:29:05 +02:00
Martin Hořeňovský
ab5d176195
Fix/disable failing approval tests
2017-09-02 10:51:19 +02:00
Martin Hořeňovský
4e4a13dfb4
Update approvals after removing deprecated matcher helpers
2017-08-31 11:50:34 +02:00
Martin Hořeňovský
61d2c375dd
Add evaluation specialization for T* and long
...
Fixes #1005
2017-08-30 12:11:41 +02:00
Martin Hořeňovský
faead53151
Update approval test baselines after removing [hide] tag
2017-08-29 13:48:20 +02:00
Phil Nash
b1d0085796
Tweaked how failedButOk assertions are recorded
...
- fixes issue where sections in !shouldfail or !mayfail test cases that have failing assertions where marked as failed instead of failedButOk
2017-08-25 11:33:40 +01:00
Phil Nash
ee75b324e7
Rebased with missing [failing] tag
2017-08-17 19:21:00 +01:00
Phil Nash
632e023ff4
Added non-copyable test to [failing] set
2017-08-17 16:55:35 +01:00
Phil Nash
b8f482b9aa
Added test comparing non-copyable values
2017-08-17 16:48:46 +01:00
Martin Hořeňovský
f06ed856d8
Cherry picked 4f21bb72ff
(Add tests for #961 ) from master
...
- had to redo the baselines
2017-08-15 12:43:27 +01:00
Phil Nash
3772f69f0f
Removed String and StringBuilder
2017-08-14 09:04:14 +01:00
Phil Nash
fa3535e95e
Added << ostream overload to StringRef
2017-08-14 08:50:44 +01:00
Phil Nash
bb8c1fb17f
Rebased with string conversion tests
2017-08-14 08:43:33 +01:00
Phil Nash
df5c31bb19
Cleaned up the output a bit
...
- removed [!shouldfail] test from "green" path
- changed "spanner" to more descriptive text
2017-08-11 10:38:29 +01:00
Phil Nash
6282999291
Rebased approvals with info loop change
2017-08-10 17:00:22 +01:00
Phil Nash
97c06ca6fb
Merge branch 'reevaluate' into dev-modernize
2017-08-10 16:18:05 +01: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
27fd8f80bd
Integrated INTERNAL_CATCH_THROWS_STR_MATCHES with new AssertionHandler
2017-08-09 00:44:30 +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
Phil Nash
58d8bc6985
Removed Text tests (TextFlow has it's own test suite)
2017-07-20 23:09:50 +01:00
Phil Nash
d3c7d424fe
Removed "long text" test (not a limitation of TextFlow)
2017-07-20 23:04:34 +01:00
Martin Hořeňovský
74ab1cd94b
Update Baselines
2017-07-20 00:29:19 +02: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
Martin Hořeňovský
bc73189c52
Rebase baselines to take into account the removed test
2017-07-12 16:27:09 +02:00
Phil Nash
60f25c7ffd
Added string tests to approvals
2017-06-29 11:19:08 +01:00
Phil Nash
c41a45e79c
Rebased following Clara changes
2017-06-12 23:13:27 +01:00
Martin Hořeňovský
07ef028483
Update baselines
2017-06-06 15:07:57 +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
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
61ac34045c
Enabled SFINAE stream test
2017-04-25 14:57:58 +01: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
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ý
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
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
Martin Hořeňovský
bbeb192ec9
Updated baselines
2017-02-27 16:27:43 +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
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
d6b8ac5a4e
Added compilation tests to approvals
2017-02-10 11:53:29 +00: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
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
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
Phil Nash
0cde0e90a6
Added approvals for “Greater-than inequalities with different epsilons” test
2017-01-09 14:40:09 +00:00
Phil Nash
0f0dcd31eb
Excluded two more C++11 tests from Approval tests
2017-01-09 14:37:28 +00:00
Phil Nash
62cbde369e
Exclude test name from approval tests
2017-01-09 14:37:28 +00:00
Phil Nash
1ae84897d4
Marked tests that use C++11 features with [c++11] tag and exclude them from approval tests
2017-01-09 14:37:28 +00:00
Phil Nash
976a655496
Approval tests can use Catch path fixed in env. var, and convert nullptr and __null to 0 for comparison
2017-01-09 14:37:28 +00:00
Phil Nash
79acc0504b
Sort test ordering during Approval testing
2016-11-29 11:32:16 +00:00
Phil Nash
31861bbd46
rebased following recent changes
2016-09-27 10:28:11 +01:00
Phil Nash
447f53e9e3
Fixed !shouldfail
2016-03-14 19:13:34 +00:00
Phil Nash
f895e0d95f
Rebased approvals following colour changes
2016-02-29 08:13:27 +00:00
Phil Nash
5262e61e9d
Approvals for Matcher change (added comma)
2015-12-10 18:43:29 +00:00
Phil Nash
0e64973f55
Added support for manually registering test functions.
...
As discussed in #421
2015-11-20 16:58:16 +00:00
Phil Nash
a49f088032
exception translators considered even for types deriving from std::exception, now
...
- also added docs for exception translators
- updated approvals
2015-11-18 08:39:21 +00:00
Phil Nash
71fd2c2fdf
Fixed test names mentioning the new Matcher combinator operators
2015-11-06 18:07:28 +00:00
Phil Nash
054e3c5b43
Added &&, || and ! operator overloads for matchers
...
(syntactic sugar for AllOf, AnyOf and Not compositional matchers, respectively)
2015-11-05 18:46:00 +00:00
Phil Nash
f5642be7b4
Fixed reversed logic of NoAssertions warning check
...
(that explains the previous regressions)
2015-11-03 17:05:08 +00:00
Phil Nash
015e07100e
Added SUCCEEDs to empty leaf sections to avoid failing due to no assertions
2015-11-03 07:46:37 +00:00
Phil Nash
bc8840cbb8
Removed deprecated section tracking implementation and tests
2015-11-03 07:38:14 +00:00
Phil Nash
471bd2556a
Approved changes due to "No assertions" warnings now firing correctly on inner sections
2015-11-03 07:33:43 +00:00
Phil Nash
368714e7aa
Added Listeners (programatically provided extra reporters)
2015-08-07 08:20:56 +01:00
Phil Nash
85c8074784
Set group name to -n parameter (or exe name)
...
- As discussed in #469
2015-07-28 18:26:09 +01:00
Phil Nash
0edebf41b0
approvals rebase
...
- I *think* this fixes an earlier regression, but I'm not 100% sure where that came from!
2015-07-28 18:24:20 +01:00
Phil Nash
70975517b3
rebased approvals for long long test
2015-07-23 23:05:52 +01:00
Phil Nash
d6e59cd56f
Fixed Xml encoding
...
- don't encode apostrophes
- only encode quotes in attributes
- encode control characters (as in PR #465 )
2015-07-23 18:45:31 +01:00
Phil Nash
72868920bb
Exception message assertions now work with matchers
2015-07-15 23:02:25 +01:00
Phil Nash
2104ca2aa4
Exception message testing now supports wildcards
...
- extracted WildcardPattern from TestSpec::NamePattern
2015-07-13 15:03:04 +01:00
Phil Nash
85de743d70
Added _THROWS_WITH macros
...
- asserts on exception message
2015-07-13 06:34:41 +01:00
Phil Nash
805de43a3d
Use CATCH_NULL instead of NULL
...
- expands to nullptr if CATCH_CONFIG_CPP11_NULLPTR is defined (see #444 )
2015-07-01 07:33:27 +01:00
Phil Nash
6ed74b5cab
changed hex threshold on ints to 255
...
- and print it in *addition* to the decimal form
2015-05-20 18:28:22 +01:00
Phil Nash
856468c8c4
Rebased to include new --force-colour tests
2015-03-04 08:22:32 +00:00
Phil Nash
50183208a3
Added tests for toString<std::tuple<>> and rebased
2014-12-30 18:47:01 +00:00
Phil Nash
c6635a7b79
Added type attribute to xml reporter output
...
- reports the macro used
2014-12-30 18:25:27 +00:00
Phil Nash
6817bb099d
Fixed up xml reporter and rebased
2014-12-30 18:24:31 +00:00
Phil Nash
3c8c9b2933
rebased
2014-12-22 20:17:50 +00:00
Phil Nash
3dc3763b07
Rebased
2014-12-21 00:20:09 +00:00
Phil Nash
ff9e51df7f
toString( int ) uses hex for large values
...
now matches behaviour of unsigned int
2014-12-12 08:10:45 +00:00
Phil Nash
a99e75b928
Made approvals more platform agnostic
...
removes root from all paths - so only relative paths remain
2014-12-11 23:40:29 +00:00
Phil Nash
3e1d3c7271
Give (currently not used, so global only) group a name
2014-09-08 08:14:22 +01:00
Phil Nash
886ef1620a
Some minor tidy-up/ style alignment of recent toString merges
2014-09-04 07:27:09 +01:00
Phil Nash
5ea3266857
Added baselines for new test cases
2014-09-03 19:22:47 +01:00
Phil Nash
cb8fe472b2
Approvals for develop branch
2014-08-22 08:13:47 +01:00
Phil Nash
8b5a4e9355
Added approvals for new tests
2014-08-20 08:08:13 +01:00
Phil Nash
d89e74faff
Format floats like doubles when printing - but add ‘f’ suffix (a lá #291 )
2014-07-09 18:16:40 +01:00
Phil Nash
9c1f9a8f9a
Added [!mayfail] tag to indicate test case that can fail without failing the suite.
...
Overhauled the summary report (including the expected failure count)
2014-07-03 08:09:57 +01:00
Phil Nash
061861d940
Approved tag alias tests
2014-06-30 07:34:27 +01:00
Phil Nash
9438a03d5b
Big assertion capture refactoring.
...
- moved as much logic out of the macros as possible
- moved most logic into new ResultBuilder class, which wraps ExpressionResultBuilder (may take it over next), subsumes ResultAction and also takes place of ExpressionDecomposer.
This introduces many SRP violations - but all in the name of minimising macro logic!
2014-05-28 18:53:01 +01:00
Phil Nash
14796814b8
Approved new test case
2014-05-23 18:55:05 +01:00
Phil Nash
a2d8f774d2
Approved new test output
2014-05-20 18:28:48 +01:00
Phil Nash
baf181f15d
Minor fixes to a couple of test names
2014-05-20 18:11:43 +01:00
Phil Nash
7139035906
Updated approvals after adding extra tests
2014-05-19 18:21:01 +01:00
Phil Nash
766491a7c4
Approved all the changes following name/ tag parser rework
2014-05-16 18:31:15 +01:00
Phil Nash
1a6f2a0a80
Changed the way noexcept support is handled to (hopefully) fix #275 and #273
2014-04-23 18:19:19 +01:00
Phil Nash
31caba4f73
Added test for invisibles
2014-04-23 07:07:27 +01:00
Phil Nash
a020865990
Sections are, once again, eagerly entered.
...
When the section tracking code was rewritten a while back to simplify and iron out some bugs the order of evaluation was changed so that each new section was skipped on the first run through.
This had unwelcome consequences for some people.
This commit restores the original semantics (while maintaining the simpler, less buggy, new code).
2014-04-21 19:02:38 +01:00
Phil Nash
87891cf38b
Updated approval tests baselines
2014-04-16 18:00:55 +01:00
Phil Nash
20cad7cb1d
Tags beginning with a non alpha-numeric character are now disallowed.
...
Added !throws special tag which denotes a test case to be skipped when run with -e
(the idea being that the test case is expected to throw an exception which is not caught within a XXX_THROWS assertion).
2014-04-15 18:44:37 +01:00
Phil Nash
1bccc03213
Secondary fix for #270 (addresses same issue with CHECK)
2014-04-12 19:20:46 +01:00
Phil Nash
a176b93738
Fix for #270 (REQUIRE continues if test throws an exception).
...
Added test case that reproduced the bug then applied the fix.
2014-04-12 19:07:24 +01:00
Phil Nash
e9d35377fa
re-approved following recent command line description tweak
2014-04-12 19:05:03 +01:00
Phil Nash
fd879f7e77
Build 28
...
- new version of Clara
- removed command line tests
2014-03-06 08:17:24 +00:00
Phil Nash
e091018514
Fixes toString() for function pointers and added support for member function pointers.
...
- thanks to Malcolm Noyes for supplying sample code on which the solution here was based
2014-01-07 17:25:27 +00:00
Phil Nash
1aa60fada9
Changed Approx::toString() to be implemented in terms of toString( double ) (as proposed in #233 )
2013-12-19 18:41:55 +00:00
Phil Nash
557b3bdbe3
Made SUCCESS variadic too (optional stream)
2013-12-14 23:16:03 +00:00
Phil Nash
9d7b77956c
build 19
...
- fixes nullptr regression (I had accidentally left in some dev changes)
2013-12-14 22:53:28 +00:00
Phil Nash
859760abb4
Build 18
2013-12-14 14:34:05 +00:00
Phil Nash
a1e87a4b7d
trim test/ section names in xml reporter
...
- BDD-style test names have leading spaces for alignment in the console reporter
2013-12-10 08:20:46 +00:00
Phil Nash
337dc25ed7
Converted all test case names to "modern" style (freeform text + tags)
2013-11-19 07:21:03 +00:00
Phil Nash
93a945cee9
Fixed uninitialised members in Context object
2013-10-23 15:35:07 +01:00
Phil Nash
2f7a296897
Split approve file into multiple files
2013-09-27 19:01:14 +01:00