Commit Graph

838 Commits

Author SHA1 Message Date
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 742457cbcf Use Clara v0.0.2.4 (updated) - fix for string lengths 2016-06-09 19:19:55 +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 5a6b291878 Using Clara 0.0.2.4 - fixes issue with spaces in quoted arguments 2016-05-07 23:12:46 +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
Phil Nash 1c47fe023a Updated embedded Clara to 0.0.2.3
- has all new, more robust, token parsing.
- eliminates issue with unreachable code
- allows use of forward slashes to introduce short args on Windows
2016-04-23 13:21:29 +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
Ian Copland 7075b7defb Added missing CATCH_OVERRIDE to CumulativeReporterBase::assertionEnded(). This fixes a warning when building in Xcode 7.2+ with default warning settings. 2016-03-29 17:03:09 +01: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 880a2046d9 Use Clara v0.0.1.1 2016-02-10 19:21:09 +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 aca16a0f99 Fixed CATCH_REGISTER_TEST_CASE too 2016-01-22 07:50:10 +00:00
Phil Nash f294c98472 Fixed REGISTER_TEST_CASE for VS2013 (hopefully)
- see #549
2016-01-05 08:19:16 +00:00
Phil Nash 7424b23bfb v1.3.1 2015-12-28 15:07:32 +00:00
Phil Nash dbd3a84d92 Fixed catch_with_main.hpp (no longer references deleted catch_runner.hpp) 2015-12-28 15:06:04 +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 2106d82881 Fixed non-variadic version of REGISTER_TEST_CASE 2015-12-09 18:24:29 +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 ed6e9128a4 Session's argv now taken by char const* const*
- see #427
2015-11-18 07:57:24 +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 9576ad9108 Removed unused parameter
- as per PR #530
2015-11-04 18:11:54 +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 85c8074784 Set group name to -n parameter (or exe name)
- As discussed in #469
2015-07-28 18:26:09 +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 6de135c63a Given, When, Then prefixes are now std::strings
(and so can be prepended to std::strings themselves)
see #455
2015-07-22 18:07:28 +01:00
Phil Nash 5bbdc8fd38 Dev build 8 2015-07-15 23:03:11 +01:00
Phil Nash 72868920bb Exception message assertions now work with matchers 2015-07-15 23:02:25 +01:00
Phil Nash 8342ae8dfb dev build 7 2015-07-13 15:03:26 +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 93a842e2f0 dev build 6 2015-07-13 06:36:07 +01:00
Phil Nash 85de743d70 Added _THROWS_WITH macros
- asserts on exception message
2015-07-13 06:34:41 +01:00
Phil Nash 1dd0d4c61a Force cout/ cerr to be initialised before errors in test registry are printed
- see #461
2015-07-10 07:46:19 +01:00