Phil Nash
b68e8f9a24
Added missing #include so CATCH_CONFIG_COUNTER properly takes into account the current compiler.
...
May address #677 and #435 and others.
2017-01-11 16:27:16 +00:00
Martin Hořeňovský
a1bed572be
Standardize C++11 feature toggles to follow documentation
...
Closes #774
2017-01-10 22:54:57 +01:00
Martin Hořeňovský
6991549457
Fixed compile error under VS2015 /c++:latest, caused by using random_shuffle
...
Now if we detect C++11 compiler, or MSVC in version corresponding to VS2015,
we switch from using `std::random_shuffle` to `std::shuffle`.
`std::random_shuffle` was officially deprecated in C++14, and removed in C++17.
Also removed guarded inclusion of `<random>` header, as there was nothing
in the header that used it.
2017-01-09 23:29:13 +01:00
Phil Nash
5b00fd40ba
Merge pull request #767 from hmich/xml-encoder-extended-ascii
...
Do not encode extended ASCII characters in XML reporter
2017-01-09 18:37:52 +00:00
Jonathan B. Coe
37e1e24309
add support for inequalities
2017-01-08 22:28:53 +01:00
Ross Bencina
7255be28cc
remove concatenation of m_exprComponents.op in if-branch where op has tested empty in previous line
2017-01-07 13:37:08 +01:00
Philipp Claßen
8d1e240700
Fixed shell color code of "Blue"
2017-01-07 10:30:43 +01:00
Igor Akhmetov
8d16d95a99
Do not encode extended ASCII characters in XML reporter
2016-12-26 11:39:19 +00:00
Phil Nash
2be372710e
Build 1.5.9
2016-11-29 12:15:50 +00:00
Martin Hořeňovský
0c8c6b347a
Fixes build error caused by missing include.
2016-11-28 15:47:20 +01:00
Phil Nash
e27c4ee042
Build 1.5.8
2016-10-26 12:08:26 +01:00
Billy Robert O'Neal III
c17ba0870a
Fix transform without a lambda
...
Catch apparently supports targeting C++03, so use an inline function
instead.
2016-10-14 14:28:15 -07:00
Billy Robert O'Neal III
79f01100e3
Fix transform narrowing warnings
...
Catch passes ::tolower into std::transform with string iterators.
::tolower has the signature int(int), which triggers a stealth narrowing
warning inside std::transform, because transform calls
*_Dest = _Fn(*_First), which implicitly narrows an int to a char.
For this particular application the narrowing is fine, so explicitly
narrow in a lambda.
2016-10-14 14:16:21 -07:00
Billy Robert O'Neal III
ccf7f2842a
Fix random_shuffle narrowing warnings
...
Catch passes an RNG which accepts int to random_shuffle. Inside
random_shuffle, the STL tries to call that RNG with the difference_type
of the user provided iterators. For std::vector, this is ptrdiff_t,
which on amd64 builds is wider than int. This triggers a narrowing
warning because the 64 bit difference is being truncated to 32 bits.
Note that this RNG implementation still does not produce a correctly
uniformly shuffled result -- it's currently asserting that std::rand
can produce 1000000 which is false -- but I don't know enough about
how much repeatable shuffles are necessary here, so I'm leaving that
alone for now.
2016-10-14 14:06:45 -07:00
Phil Nash
40f6068d52
Build 1.5.7
2016-09-27 10:46:22 +01:00
Phil Nash
21cbfc107e
--list-test-names quotes test names that start with #
...
- completes #717
2016-09-27 10:43:03 +01:00
Phil Nash
b1eeec7c69
-f supports quoted test names (test name surrounded with " characters).
...
This is the first part to resolving #717
2016-09-27 10:27:28 +01:00
Phil Nash
c23b374f3d
Added braces to emphasise the return logic
2016-09-27 09:58:12 +01:00
nabijaczleweli
8c459dd207
Fix misindent
...
Closes #679
2016-09-27 00:35:26 +02:00
Robert A Zeh
5095619955
Fixes for XML encoding.
...
This commit fixes the following scenario:
* You have a test that compares strings with embedded control
characters.
* The test fails.
* You are using JUnit tests within TeamCity.
Before this commit, the JUnit report watcher fails on parsing the XML
for two reasons: the control characters are missing a semicolon at the
end, and the XML document doesn't specify that it is XML 1.1.
XML 1.0 --- what we get if we don't specify an XML version --- doesn't support embedding control characters --- see
http://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml
for all of the gory details.
This is based on PR #588 by @mrpi
2016-08-24 09:38:24 -05:00
Phil Nash
35f510545d
v1.5.6
2016-06-09 19:21:09 +01:00
Phil Nash
1aa6c91e64
Fixed RNG issue with pre C++14 compilers
2016-06-09 19:07:05 +01:00
Phil Nash
ac220289a6
v1.5.5:
...
Deal with auto_ptr and random_shuffle hard deprecations in C++14
2016-06-09 08:19:23 +01:00
Phil Nash
be3570ef22
Use std::shuffle instead of (deprecated) std::random_shuffle if C++14 detected
2016-06-09 08:15:57 +01:00
Phil Nash
a74d760d74
Switched remaining std::auto_ptrs to use CATCH_AUTO_PTR
2016-06-08 19:14:54 +01:00
Phil Nash
f666f5f0ae
v1.5.4
2016-05-12 19:18:04 +01:00
Phil Nash
7940d58a2f
"test" expression using !! instead of static_cast to bool.
...
This addresses #657 while (hopefully) maintaining fix for #574
2016-05-12 19:17:55 +01:00
Phil Nash
ebf9f3bb9d
v1.5.3
2016-05-10 19:09:59 +01:00
Phil Nash
b57e734eb4
Merge branch 'throw-on-duplicate-tests' of git://github.com/rcdailey/Catch into rcdailey-throw-on-duplicate-tests
2016-05-10 19:06:47 +01:00
Phil Nash
5c198d85e6
v1.5.2
2016-05-07 23:14:04 +01:00
Phil Nash
92b141ee53
v1.5.1
2016-04-28 08:13:00 +01:00
Phil Nash
4f1263d6b4
Removed use of dynamic_cast from test_case_tracker.
...
(Thanks to #631 and #648 )
2016-04-28 08:11:12 +01:00
Phil Nash
3b19458fed
Removed use of dynamic_cast for MultipleReporters
...
(Thanks to #630 , #636 and #648 )
2016-04-28 08:11:12 +01:00
Phil Nash
0fe303b6b7
v1.5.0 (due to new embedded Clara)
2016-04-23 13:25:51 +01:00
Robert Dailey
86c0ea2999
[ #608 ] Don't use exit() on duplicate test descriptions
...
Instead of `exit(1)`, it now throws `std::runtime_error` with the details
of the failure. This exception is handled in `run()` at a higher level where
the log is printed to cerr and the test gracefully exits.
2016-04-01 11:56:51 -05:00
Phil Nash
c984fc3ecd
v1.4.0
...
- use __COUNTER__ for unique IDS instead of __LINE__ (where possible)
+ bug fixes
2016-03-15 07:24:26 +00:00
Phil Nash
447f53e9e3
Fixed !shouldfail
2016-03-14 19:13:34 +00:00
Phil Nash
13a887ad24
Use __COUNTER__ when generating unique names instead of __LINE__, if available.
...
Based on PR #351
2016-03-14 07:55:00 +00:00
Phil Nash
02af70ed0b
build v1.3.6 (include's David Grayson's fix for the gcc pragma)
2016-03-11 18:31:52 +00:00
David Grayson
97e335437e
Fix CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS: GCC needs to be capitalized.
...
Fixes issue #600 .
2016-03-04 19:24:10 -08:00
Phil Nash
ae5ee2cf63
v1.3.5
2016-02-29 08:17:18 +00:00
Phil Nash
458f37ed57
Merge branch 'explicit-bool-conversion' of git://github.com/seanmiddleditch/Catch into seanmiddleditch-explicit-bool-conversion
2016-02-29 08:05:46 +00:00
Phil Nash
91bfe68a75
Suppress parentheses warnings on clang and gcc
...
- should address #593 , #528 , #521 , #496 (and possibly others)
2016-02-29 08:03:48 +00:00
Phil Nash
8ccb18daa9
Added --use-colour option to give finer control over colourisation.
...
--force-colour is still present but deprecated (will remove in v2)
2016-02-29 08:03:48 +00:00
Sean Middleditch
776247af81
Support explicit operator bool
...
Fix for issue 596
2016-02-25 00:34:09 -08:00
Phil Nash
3b4edd7a48
Build for v1.3.4
2016-02-10 19:24:48 +00:00
Phil Nash
ffad3a0a39
Fix as suggested in #574
...
Cast expression to bool to prevent custom && from defeating short-circuiting
2016-02-10 05:49:56 +00:00
Phil Nash
c7243562b0
v1.3.3
2016-01-22 07:59:06 +00:00
Phil Nash
b84e08ad6f
Fix EndsWith Matcher (and refactored EndsWith and StartsWith in terms of endsWith and startsWith) (see Issue #573 )
2016-01-22 07:59:06 +00:00
Phil Nash
7424b23bfb
v1.3.1
2015-12-28 15:07:32 +00:00
Simon Warta
a5fba672e1
Add missing comma when in captured expression for matchers
...
Such that
CHECK_THAT( hex_encode(outbuf) Equals("B5D4045C") )
becomes
CHECK_THAT( hex_encode(outbuf), Equals("B5D4045C") )
2015-12-10 08:09:10 +00:00
Phil Nash
981347b6e4
patch build to include last two fixes
2015-12-09 18:11:48 +00:00
Phil Nash
9e341231ba
main takes args by non-const char*
...
- see #548
2015-12-09 06:22:15 +00:00
Phil Nash
2b688e1cef
Initialise m_currentSortOrder
...
- as reported in #545
2015-12-09 06:15:52 +00:00
Phil Nash
722315a1f5
Removed some trailing whitespace
2015-12-04 10:20:33 +00:00
Phil Nash
fdc42d0af4
Merged from develop branch
...
- now v1.3.0
2015-12-04 10:19:08 +00:00
Phil Nash
7e15d9b20b
dev build 4
2015-11-20 16:59:14 +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
e4fa62a14e
dev build 3
2015-11-18 08:39:54 +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
92356769f1
dev build 2
2015-11-06 18:07:29 +00:00
Phil Nash
d10b73f9f1
changed Not struct to a class.
...
- it was forward declared as a class, which caused warnings on some compilers. It should really have been a class anyway.
- this addresses the same issue as PR #534 , albeit from the other angle.
2015-11-06 18:07:29 +00:00
Phil Nash
08844e7e57
build 1.3.0-develop.1
...
I've incremented the minor release number. This is a slight abuse of semantic versioning so let me explain:
I've slightly changed how matchers are used. The matcher macro (REQUIRE_THAT/ CHECK_THAT) used to introduce the Catch::Matchers namespace before the macro token for the matcher, to save you having import the namespace yourself.
The trouble is if the matcher token is not a simple matcher (can now be an expression) this breaks!
So I've removed that qualification. Now if you use Matchers you'll have to do somethings like using namespace Catch::Matchers to bring them in.
This is a breaking change - but, OTTOH, Matchers are an undocumented "beta' feature that I've stated in the past is not guaranteed to have a stable API - so I don't think this warrants a major version change - but I did want to make it significant enough that people do notice that something is going on - and perhaps lead them to this commit message.
2015-11-05 18:52:18 +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
f3e7722cc6
Don't introduce Catch::Matchers namespace in macro
...
- this could be a breaking change - fixed up self-test code to compensate
2015-11-05 18:10:33 +00:00
Phil Nash
e91738103c
Stripped trailing whitespace from all source code lines
...
(replaces need for PRs #310 and #504 )
2015-11-04 18:04:15 +00:00
Phil Nash
ece529ae7c
Fixed noexcept destructors issue
2015-11-03 17:37:43 +00:00
Phil Nash
9e42153fe5
dev build 16
2015-11-03 17:06:54 +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
7e34619f03
v1.2.1-develop.15
...
- includes all new section tracker
2015-11-03 08:01:27 +00:00
Phil Nash
bc8840cbb8
Removed deprecated section tracking implementation and tests
2015-11-03 07:38:14 +00:00
Phil Nash
aa49823bc0
perform startRun() at the start of each test case
2015-11-03 07:29:23 +00:00
Phil Nash
52a417df7b
Fitted new section tracking
2015-11-02 19:21:46 +00:00
Phil Nash
b8515929b8
Moved all new tracking impl into catch_test_case_tracker.pp
2015-11-02 06:14:52 +00:00
Jędrzej
bc00d59a4e
Fix typo in catch_stream.hpp
2015-10-22 21:49:32 +02:00
Phil Nash
d43a47efca
Refactored stream related stuff
...
- simpler, polymorphic hierarchy-based, approach
- less bitty conditionals spread across the code
- all resolved up-front so now config class is immutable
(it had evolved the way it was and in need of a clean-up sweep for a long time)
2015-09-29 19:23:06 +01:00
Phil Nash
a0de07d45b
Some small clean-ups and refactorings
...
- removed previous instance saves in RunContext (they were a hang-over from embedded contexts)
- started cleaning up config usage
2015-09-28 01:09:06 -07:00
Phil Nash
0c1c9fa922
dev build 14
...
- workaround for uncaught_exception issue
- avoid mutating vector while iterating it (due to re-entrancy)
2015-09-27 03:28:14 -07:00
Phil Nash
166ca2e819
Do uncaught_exception checking before calling sectionEnded
...
- split the uncaught handling (adding to unfinishedSections) into separate method
2015-09-26 18:12:21 -07:00
Phil Nash
15317632f3
Revert "Fix parentheses warning on expression evaluation when using ccache"
...
This reverts commit 7da777a4b7
.
2015-09-26 18:06:53 -07:00
segalaj
7da777a4b7
Fix parentheses warning on expression evaluation when using ccache
2015-09-14 14:28:34 +02:00
Phil Nash
d234ed1a67
dev build 13
2015-08-24 06:28:25 +01:00
Phil Nash
7fd7c5b8c8
Merge branch 'matcher-not' into develop
...
* matcher-not:
Add matcher: Not()
2015-08-24 06:22:03 +01:00
Simon Warta
312b94e532
Add matcher: Not()
2015-08-12 11:07:55 +02:00
Phil Nash
40d0d2f656
Added unique_ptr detection to compiler_capabilities
...
- as well as use by C++11 conformant compilers now enabled for VS2013 on too (see #479 )
- updated docs with this (and long long and override support)
2015-08-11 08:09:41 +01:00
Phil Nash
ad7edd0680
Replaced some stray overrides with CATCH_OVERRIDE
2015-08-10 07:32:21 +01:00
Phil Nash
8a05f46a37
Removed use of std::copy_if (as it's limited to c++11)
2015-08-07 17:53:29 +01:00
Phil Nash
e73583d556
dev build 12
2015-08-07 17:30:34 +01:00
Phil Nash
afcc38efc5
Fixes for single include
2015-08-07 17:28:48 +01:00
Phil Nash
368714e7aa
Added Listeners (programatically provided extra reporters)
2015-08-07 08:20:56 +01:00
Phil Nash
4cb74761d9
Support for multiple reporters
...
- can't (yet) specify different targets for each reporter (e.g. different files)
2015-08-05 19:02:17 +01:00
Phil Nash
c06e1909ae
Refactored test filtering and sorting
2015-08-04 23:11:56 +01:00
Phil Nash
8b1b7cd66e
dev build 11
2015-08-03 07:40:52 +01:00
Phil Nash
34fa25ed2f
Removed Runner class
...
- it served no purpose - split into functions instead
2015-07-28 18:55:11 +01:00
Phil Nash
f3308ed7c4
Let gcc use __cplusplus identifier to decide if nullptr supported
...
- or, for 4.6, continue to check __GX_EXPERIMENTAL_CXX0X__
See GitHb issue #445 and PR #471
2015-07-27 18:42:36 +01:00
Phil Nash
74eef52644
dev build 10
2015-07-24 08:13:52 +01:00
Phil Nash
2f6371f2ec
dev build 9
2015-07-23 23:06:26 +01:00
Phil Nash
733ebb6024
Added CATCH_CONFIG_CPP11_LONG_LONG support
2015-07-23 23:05:05 +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
5bbdc8fd38
Dev build 8
2015-07-15 23:03:11 +01:00