Martin Hořeňovský
d2ddb997a7
Cleanup for performance reasons
...
* Eliminated some copies
* Made makeTestCase fit into 4 arguments -- avoids spills on Win64
* Made string literals into StringRef literals
2018-03-02 16:24:35 +01:00
Martin Hořeňovský
05cd05743a
Provide a public method to get StringRef's underlying pointer
...
This allows reducing the amount of friends needed for its interface
and some extra tricks later.
The bad part is that the pointer can become invalidated via
calls to other StringRef's public methods, but c'est la vie.
2018-02-28 22:49:00 +01:00
Martin Hořeňovský
4e57661919
StringRef will not take ownership when writing itself to stream
...
This also fixes some tests that were previously failing unnoticed - WTF?
2018-02-17 20:41:50 +01:00
Martin Hořeňovský
5a8f9c84dd
Fix doubled line in baselines
2018-02-16 22:10:39 +01:00
Martin Hořeňovský
f988b4eb35
Covered more translation possibilities
2018-02-15 19:58:49 +01:00
Martin Hořeňovský
c8d765a575
Cleanup some tests
2018-02-15 16:06:35 +01:00
Martin Hořeňovský
c0267e5c20
Add test for overriding the fallback stringifier
2018-02-15 16:06:35 +01:00
dvirtz
ca8470fbad
https://github.com/catchorg/Catch2/issues/1175 - don't list hidden tests by default
2018-02-09 19:55:40 +01:00
Martin Hořeňovský
681f5daa13
Update approval tests
2018-02-08 15:00:56 +01:00
Martin Hořeňovský
3b6fda3c1b
Add tests for StringRef::numberOfCharacters
2018-02-08 13:10:12 +01:00
Zachary Michaels
4be81d3588
Remove unnecessary semicolons
2018-02-05 10:03:51 +01:00
Martin Hořeňovský
126850e76b
Prefer operator<< to range-based stringification
...
Fixes #1172
2018-02-01 14:07:23 +01:00
Phil Nash
ca2455e6e6
Fixed NoAssertions warning
2018-01-26 16:52:28 +00:00
Martin Hořeňovský
8d854c689b
Provide useful and unambigous stringification for static arrays
2018-01-14 18:06:43 +01:00
Martin Hořeňovský
de36b2ada6
Fix compilation for types where relops don't return bool
...
Closes #1147
2018-01-12 15:49:56 +01:00
Phil Nash
8be1df243e
Added test for stringifying std::arrays
2018-01-04 10:52:55 +00:00
Phil Nash
32eb90b9bd
Fix stringifying of unknown enums
2018-01-04 10:21:52 +00:00
Phil Nash
702cfdaf6e
Added special handling for vector<bool> when stringifying
2018-01-04 10:05:02 +00:00
Phil Nash
e41e8e8384
Added tests for stringifying map and set
2018-01-04 10:03:08 +00:00
Pfiffikus
ed33e9787e
Update MessageTests.cpp
...
typo corrected
2017-12-09 20:51:56 +01:00
Martin Hořeňovský
495d2458e0
Add UnorderedEqualsMatcher for vectors
...
Closes #1093
2017-12-07 19:05:00 +01:00
Phil Nash
3035120dc7
Some bits of tidy up
2017-12-07 00:02:32 +00:00
Martin Hořeňovský
584e04d480
Add compact reporter baseline
2017-12-06 21:47:14 +01:00
Martin Hořeňovský
0c122c135d
Add constructor arg checking to WithinAbsMatcher
...
Also tests :-)
2017-12-06 15:42:03 +01:00
Phil Nash
7c5a21fb7d
Added clog test
2017-12-05 17:48:15 +00:00
Phil Nash
b5a5d9a6f8
Stop leaking some warning suppressions to user code
2017-11-29 19:14:33 +03:00
Martin Hořeňovský
8c32d0b644
Add more weird chrono::duration stringification tests
2017-11-28 21:47:06 +01:00
Martin Hořeňovský
28d1955ea8
Also test Approx template constructor
2017-11-28 21:29:34 +01:00
Martin Hořeňovský
73a1623eaf
Re-enable 2 string tests
2017-11-25 18:38:18 +01:00
Martin Hořeňovský
401ad7a189
Remove isTrue, alwaysTrue, alwaysFalse
...
isTrue and alwaysFalse were replaced by (void)0, 0 inspired by doctest
alwaysTrue was replaced by warning suppression
2017-11-22 16:03:45 +01:00
Martin Hořeňovský
87c125ecb8
Enable Werror for dev builds
2017-11-21 18:55:28 +01:00
Phil Nash
502da4b38d
Added files for multiply inclusions of test cases
2017-11-17 15:46:57 +00:00
Phil Nash
8da845810d
Rebased due to whitespace changes
2017-11-17 15:46:57 +00:00
Phil Nash
61e838edf2
Reorganised (some) usage tests so they can be included multiple times
2017-11-17 15:46:57 +00:00
Martin Hořeňovský
a3cba7a0d5
Conditionally compile problematic tests under old libstdc++
2017-11-13 21:23:52 +01:00
Martin Hořeňovský
9796846ad0
Workaround libstdc++-4.8 regex issue in approval tests
2017-11-13 18:19:40 +01:00
Phil Nash
74d3dfd4cc
All tests files have .tests.cpp suffix. Also moved tests out of TestMain.cpp and moved up a level
2017-11-13 16:03:27 +00:00
Phil Nash
e34754e433
Split SelfTest test files into Usage and Introspective varieties
...
Usage: just exercises Catch. The tests are over arbitrary date/ types
Introspective: Tests parts of Catch itself.
2017-11-13 15:38:52 +00:00
Martin Hořeňovský
55b71bebf1
Add tests for case insensitive string matching
2017-11-13 15:46:33 +01:00
Martin Hořeňovský
b0857e846f
Provide a regex matcher against std::string
...
Related to #1040
2017-11-13 15:35:31 +01:00
Phil Nash
3537b7858f
Removed vestigal ComparatorT template arg to MatcherBase
2017-11-13 10:08:48 +00:00
Martin Hořeňovský
b74d4ca96d
Add compilation test for #1027
2017-11-13 10:07:06 +01:00
Martin Hořeňovský
8dbaac61ff
Final set of fixes for floating matchers approvals
2017-11-12 11:49:36 +01:00
Martin Hořeňovský
030321e3e0
Add NAN test for Approx
2017-11-10 18:48:45 +01:00
Martin Hořeňovský
0b1f1b1003
Add ULP and margin matcher
...
Closes #1074
2017-11-10 18:33:00 +01:00
Phil Nash
56e1075613
Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path
...
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.
Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
2017-11-07 18:01:10 +00:00
Phil Nash
19ab2117c5
Remove spurious test following merge
2017-11-03 18:09:55 +00:00
Phil Nash
46c7c9d3a0
Merge branch 'catch2'
2017-11-03 12:05:38 +00: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
Martin Hořeňovský
a6cf19abff
Make Approx::margin inclusive
...
Fixes #952 , related to #980
2017-10-30 21:33:29 +01:00
Phil Nash
05b1ca2884
Fixed expansion of _FALSE binary expression
...
- see #1051
2017-10-13 19:45:19 +01:00
Phil Nash
da6c2a6914
Fixed expansion of _FALSE binary expression
...
- see #1051
2017-10-13 19:44:20 +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
Phil Nash
8da0d0473b
qualified a load of size_ts with std:: namespace (all those not from Clara)
2017-09-18 17:13:17 +01: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
Phil Nash
c5608f0202
Changed all .hpp extensions to .h where there is now a corresponding .cpp
2017-09-07 11:24:33 +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ý
a4df0b2c37
Remove obsoleted utility functions on matchers
...
Natural operators, &&, || and ! are preferred and do not have
limited arity.
2017-08-30 19:45:09 +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
8e8c0c1675
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:37:49 +01: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
28f11a7149
Added dummy listener registration
2017-08-17 19:40:48 +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
c659e0fd3d
StringRef conversions to/ from std::string
2017-08-14 08:39:14 +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
9688891868
Fix issue with fatal errors and non-failing assertions
...
Fixes #990
2017-08-10 21:44:54 +02:00
Martin Hořeňovský
4f21bb72ff
Add tests for #961
2017-08-10 21:38:07 +02:00
Phil Nash
684cbb2631
Fixes issue with fatal errors and non-failing assertions
...
Fixes #990
2017-08-10 17:10:13 +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ý
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