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