Martin Hořeňovský
a75eaa3c5a
Split out more headers into separate .cpp files
2017-07-27 11:32:02 +02:00
Martin Hořeňovský
9de729b515
General cleanup
2017-07-27 11:32:01 +02:00
Martin Hořeňovský
1a96175bb2
Split out helper functions on std::string from catch_common.h
2017-07-25 21:57:35 +02:00
Martin Hořeňovský
1e59ccee41
Addressed Resharper-C++ warnings
...
See #958
2017-07-25 17:16:28 +02:00
Martin Hořeňovský
b6f62af7d1
Address more of PVS studio warnings
2017-07-25 15:45:50 +02:00
Phil Nash
46bf7605f4
Hold exception translators by unique_ptr
...
- and removed range deleters
2017-07-20 23:50:07 +01:00
Phil Nash
cb6963216f
Removed catch_section_info.cpp (not used)
2017-07-20 23:49:03 +01:00
Phil Nash
c91639e1d7
Use Columns to format reporter list
2017-07-20 23:32:35 +01:00
Phil Nash
3a37f45a97
Removed tbc_text_format (superceded by TextFlow)
2017-07-20 23:20:42 +01:00
Phil Nash
6ec7709e07
removed final use of tbc_text_format (console reporter)
2017-07-20 23:13:08 +01:00
Phil Nash
224250e2d4
listTests now only uses TextFlow (not tbd_text_format) again
2017-07-20 20:10:13 +01:00
Phil Nash
5c3355ad1b
Embed Clara with TextFlow fix for whitespace after newline
2017-07-20 20:07:28 +01:00
Phil Nash
b2a4dfcda4
Embedded version of Clara with TextFlow fix for embedded newlines
2017-07-20 19:42:06 +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ý
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ý
2a586437e8
Fix merge mishap (duplicated catch_reporter_multi header)
2017-07-19 23:20:30 +02:00
Martin Hořeňovský
cf2678dce6
Merge branch 'dev-better-verbosity' of https://github.com/BMBurstein/Catch
2017-07-19 23:17:19 +02:00
Martin Hořeňovský
efd79aa0bd
Extend exception type in _THROWS_ with const& unconditionally
...
Potentially breaking change, but most people apparently were using it
wrong and thus it won't be breaking for them.
Closes #955
2017-07-19 21:30:00 +02:00
Martin Hořeňovský
4a1e898eae
More method bodies moved out of line
2017-07-19 15:32:58 +02:00
Martin Hořeňovský
d7ff62430a
Removed superfluous inline specifications
2017-07-19 13:40:00 +02:00
Martin Hořeňovský
edbe122761
Split out non-templated Approx methods into cpp file
2017-07-19 13:40:00 +02:00
Phil Nash
0a614ee5ba
re/moved some headers in catch_tostring
2017-07-19 08:31:10 +01:00
Phil Nash
4833932ab2
Removed redundant member
2017-07-19 08:17:41 +01:00
Phil Nash
cd6f6c021a
Minor clean-ups in string conversion code
2017-07-19 08:16:55 +01: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
d43024ff6b
Removed intermediate IConfig ptr
2017-07-18 18:03:57 +01:00
Phil Nash
c7931f6f18
Reuse ostringstream in XML reporter
2017-07-18 08:35:41 +01:00
Phil Nash
01a21f67f7
Converted a load of spelt out iterators to auto
2017-07-18 08:08:17 +01:00
Martin Hořeňovský
7ccf11da29
Split out catch_run_context into cpp and hpp file
2017-07-15 16:48:21 +02:00
Phil Nash
cf6f9e3253
Initialise unexpectedExceptions in JUnitReporter
2017-07-13 10:10:39 +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
d2d5910479
Suppress clang-tidy warnings about inline asm
2017-07-13 08:26:08 +01:00
Phil Nash
e01ed48a70
Made everything used in test case registration noexcept
...
- this prevents warnings about startup-time exceptions
2017-07-13 08:25:47 +01:00
Phil Nash
989222eceb
Fixed up OcMethod base
2017-07-12 23:26:13 +01:00
Phil Nash
720fdf1d02
Simplified test case registration and started using StringRefs
2017-07-12 23:11:41 +01:00
Phil Nash
79627cdcdb
Changed some names in test case registry
...
- in preparation for a bigger refactoring
2017-07-12 23:11:41 +01:00
Phil Nash
10c36aa74c
added override keyword to overrides in compact reporter
2017-07-12 23:11:41 +01:00
Phil Nash
e3e6453229
Removed spurious "inline" (was causing linker errors) and fixed broken macOS detection
2017-07-12 15:24:35 +01:00
Martin Hořeňovský
878bd140e6
Removed superfluous inline keywords
2017-07-12 16:16:55 +02:00
Martin Hořeňovský
d8df83ee2f
Don't rely on transitive <string> include
2017-07-12 16:07:52 +02:00
Martin Hořeňovský
8d8f481597
Moved couple function's bodies out of common-include path
2017-07-12 16:07:27 +02:00
Martin Hořeňovský
3f6c078173
Use = delete instead of private, unimplemented copy operations
2017-07-12 15:11:23 +02:00
Martin Hořeňovský
0bb9f52a99
Removed declared-but-undefined function
2017-07-12 15:10:55 +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ý
4332b84c9b
Moved leak detector to its own file
2017-07-12 15:03:52 +02:00
Martin Hořeňovský
9c318af987
Remove obsolete GENERATE macro
2017-07-12 14:46:49 +02:00
Martin Hořeňovský
1d3bfa0353
More include and impl refactoring
2017-07-10 14:25:38 +02:00
Martin Hořeňovský
5f3f19de08
Default included reporters are now also in .cpp files
...
The non-default ones remain as header files.
2017-07-10 11:33:18 +02:00
Martin Hořeňovský
93f84b5b0d
Modified generateSingleHeader script to work with .cpp files better
...
Also fixed the scripts to take into account renamed version file
2017-07-09 21:02:36 +02:00
Baruch Burstein
af05ccfe5d
Merge remote-tracking branch 'upstream/dev-modernize' into dev-better-verbosity
2017-07-09 12:48:29 +03:00
Baruch Burstein
058b21e604
Previous implementation didn't work
...
It relied on calling a virtual method from a base constructer
2017-07-09 12:46:53 +03:00
Martin Hořeňovský
fc32165d48
Started work on splitting out .cpp files from header files
2017-07-06 22:28:42 +02:00
Baruch Burstein
f749347523
Check that reporter supports requested verbosity
2017-07-06 01:25:49 +03:00
Baruch Burstein
bb9f2bb3ad
Use new formatting capabilities
2017-07-04 18:16:42 +03:00
Baruch Burstein
694fe61ae3
Add ability to format any streamable class
...
This should probably be done at the source of this external file, but I couldn't find where that is. Perhaps it should be mentioned in the file header comment?
2017-07-02 11:52:29 +03:00
Phil Nash
0016362f69
explicit conversion from size_t to size_type
2017-06-29 16:31:05 +01:00
Phil Nash
63a8017ba7
Minor session tweaks
2017-06-29 14:27:53 +01:00
Phil Nash
03afbdfec9
Made more of StringRef noexcept
2017-06-29 11:47:09 +01:00
Phil Nash
78e7994435
Added string classes
2017-06-29 11:18:14 +01:00
Phil Nash
4c1880b35f
Clamp exit code internally, so it doesn’t have to be done in every main() implies
2017-06-27 11:37:50 +01:00
Martin Hořeňovský
fae0fa4ec1
Merge branch 'dev-second-string-argument-removal' into dev-modernize
...
It is no longer true that an assertion macro has either 1 or 2 args,
so...
2017-06-26 20:48:41 +02:00
Martin Hořeňovský
c5bac73cad
Merge branch 'master' into dev-modernize
...
This includes the performance commits done recently
2017-06-26 19:08:42 +02:00
Baruch Burstein
1e7000ed55
Merged implemention of #934 , but using 'verbose' option on command line instead.
...
(see 616f7235ef
on master for original merge)
2017-06-26 17:15:28 +01:00
Martin Hořeňovský
7bcfdf8e94
Disable deprecation warning of std::uncaught_exception
...
We might prefer to use `std::uncaught_exceptions` in the future, but I
would prefer not to bring in more configuration into Catch Classic
Closes #927
2017-06-26 16:50:23 +01:00
Martin Hořeňovský
8d5f6c8e2e
Fix how GCC version is detected when checking for __COUNTER__
...
Fixes #928
2017-06-26 16:49:34 +01:00
Phil Nash
e62a9aa444
Removed const refs from NSString/ NSObject overloads (effectively reapplies PR #855 originally applied to "1.x" master)
2017-06-26 16:48:38 +01:00
Phil Nash
059a33d555
Fixed indentation
2017-06-26 16:47:40 +01:00
Baruch Burstein
8a14af701e
If --list-extra-info is specified with --list-test-names-only, only output one list
2017-06-25 17:12:29 +02:00
Martin Hořeňovský
07c6bfc3b9
--extra-info -> --list-extra-info, behaves like other --list-* flags
2017-06-25 17:12:29 +02:00
Baruch Burstein
616f7235ef
add --extra-info flag
...
this will add line info to test lists, and test descriptions to the long
form of the test list
2017-06-25 17:12:29 +02:00
Neal Coombes
396ecf6021
Cache std::ostringstream between assertions.
...
This is not thread safe, but I think that was already true of Catch.
The construction/destruction of the std::ostringstream is where the
vast majority of time is spent per assertion. A simple test of
100000000 CHECK()s is reduced from around 60s to 7.4s
2017-06-25 15:53:59 +02:00
Phil Nash
af66106500
Updated Clara with handling for / on Windows
2017-06-23 09:08:44 +01:00
Martin Hořeňovský
0eb101e165
Remove "second argument" from result builder and assertion result
...
This is not quite complete removal (it doesn't pass approval tests),
but it should be representative of full perf improvements from doing so
2017-06-22 18:13:05 +02:00
Neal Coombes
dcab8a5971
Performance improvement in AssertionInfo.
...
By using char const * instead of std::string we avoid significant
copying per assertion. In a simple loop with 10000000 CHECKS on
my system, this reduces the run time from 9.8s to 6s.
2017-06-22 18:03:47 +02:00
Phil Nash
2462dff088
Updated Clara with VS ICE workaround
2017-06-22 16:07:05 +01:00
Phil Nash
0470b300a8
Reverted previous two commits as they didn’t fix anything
2017-06-22 15:53:24 +01:00
Phil Nash
3bb16e8418
Reorganised CLI again in another attempt to get past VS ICEs
2017-06-21 11:42:53 +01:00
Phil Nash
e0c6c4aee7
Another attempt to fix VS ICEs - split cli parser up.
2017-06-21 09:40:52 +01:00
Phil Nash
c43d5f673f
Moved command line lambdas out-of-line in an attempt to fix VS ICEs
2017-06-21 08:54:53 +01:00
philsquared
d81c1eb006
added version of Clara that has virtual destructors
...
(just to silence warnings - they are not actually needed)
2017-06-20 22:35:35 +01:00
Phil Nash
da5964af78
Updated version of Clara (should fix Windows compile issues)
...
- embedded using new embed script
2017-06-20 18:03:47 +01:00
Martin Hořeňovský
017a63da62
v1.9.5
2017-06-15 13:08:26 +02:00
Martin Hořeňovský
b90d0b7267
Disable deprecation warning of std::uncaught_exception
...
We might prefer to use `std::uncaught_exceptions` in the future, but I
would prefer not to bring in more configuration into Catch Classic
Closes #927
2017-06-15 11:43:31 +02:00
Martin Hořeňovský
ee0defb939
Silence unused argument warning in Catch
2017-06-15 11:34:29 +02:00
Martin Hořeňovský
efba988ccc
Fix how GCC version is detected when checking for __COUNTER__
...
Fixes #928
2017-06-13 18:20:59 +02:00
Phil Nash
e62b3beef4
Fixed issue with different result types in Clara
2017-06-13 08:29:56 +01:00
Phil Nash
1c223b63ba
Integrated (all) new version of Clara
2017-06-12 23:07:10 +01:00
Phil Nash
004228efb2
Merge pull request #855 from kainjow/objc-tostring-link
...
Fix Catch::toString() linker error when main() is compiled as C++
2017-06-11 23:06:38 +01:00
Martin Hořeňovský
ebb3371cbf
Merge remote-tracking branch 'tsondergaard/improve-junit-xml-for-jenkins' into dev-modernize
2017-06-06 16:52:02 +02:00
Martin Hořeňovský
6583284731
Fix erroneous result disposition for {REQUIRE,CHECK}_THAT
...
This fixes result disposition being ContinueOnFailure |
ContinueOnFailure for CHECK_THAT (obviously an error) and Normal |
ContinueOnFailure for REQUIRE_THAT (less obviously an error, but worse,
as that signals to the pipeline that assertion failure should both abort
and continue the test with ???? happening).
2017-06-06 15:12:03 +02:00
Martin Hořeňovský
47eb9b3d68
Fix #914 being removed during last merge
2017-06-06 15:07:34 +02:00
Martin Hořeňovský
950cae9040
Added new assertion macros: *_THROWS_WITH
...
It combines `*_THROWS_AS` and `*_THROWS_WITH` macros, so that the
exception type matches expectetations and its contents match a specific
matcher.
2017-06-05 18:40:50 +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ý
1e16be0b9e
Purge deprecated generators
2017-06-05 16:49:10 +02:00
Thomas Sondergaard
69ff7fcf42
Include suite name in junit classname attrib for grouping in jenkins
...
Jenkins groups junit test results by loosely interpreting the
classname attribute of the <testcase> element as a package-qualified
java class name such as java.util.String. It ignores the <testsuite>
elements in the xml. To organize test results we therefore need to
embed the suite name in the classname attribute as if it was a java
package name.
Fixes #922 .
2017-06-05 12:51:56 +02:00
Thomas Sondergaard
a6b03031ba
Use [#filename] tag for junit testcase classname attribute
...
If [#filename] is present in tags, use it for the classname attribute,
rather than "global". If the test fixture is present that still takes
precedence.
2017-06-05 12:51:56 +02:00
Martin Hořeňovský
47c8994a61
Inherit from NonCopyable to disable RegisterHub copies
2017-06-04 22:56:57 +02:00
Martin Hořeňovský
860de28b8d
Catch and register startup exceptions in autoregistrars
...
Previously they were registered where they would be thrown otherwise
2017-06-04 22:37:59 +02:00
Martin Hořeňovský
da0edcbe25
Collect startup exceptions instead of throwing them
...
Previously, some errors in Catch configuration would cause exceptions to
be thrown before main was even entered. This leads to call to
`std::terminate`, which is not a particularly nice way of ending the
binary.
Now these exceptions are registered with a global collector and used
once Catch enters main. They can also be optionally ignored, if user
supplies his own main and opts not to check them (or ignored them
intentionally).
Closes #921
2017-06-04 21:39:27 +02:00
Martin Hořeňovský
adb66f55a7
Don't include warning headers from catch_xmlwriter.hpp
...
This prevents Catch from disabling `Wpadded` for Clang inside test files
(files that do not define either `CATCH_CONFIG_MAIN` or
`CATCH_CONFIG_RUNNER`).
catch_suppress_warnings.h and catch_reenable_warnings.h should be
included only once*, so that the stitching script includes them as the
first and last header respectively, since it only includes each header
once. This caused a bug, where the first one was included properly, but
the second one was included prematurely, from catch_xmlwriter.hpp, and
thus was guarded by `CATCH_IMPL`.
* At least until the stitching script is changed to accomodate common
warning disabling header.
Fixes #871
2017-06-02 19:10:57 +02:00