Commit Graph

798 Commits

Author SHA1 Message Date
Phil Nash
1cb8bafb1f Added missing #include in test file 2017-02-13 17:43:43 +00:00
Phil Nash
873ef276b6 XML Reporter closes tag and flushes stream at end of TestCase and Section tags.
This fixes an issue where XML reports on stdout are broken by printf statements
2017-02-13 15:56:25 +00:00
Phil Nash
d2e814ff23 Tagged a C++11 specific test with [c++11] to exclude from approval tests (for now) 2017-02-10 19:13:45 +00:00
Phil Nash
d6b8ac5a4e Added compilation tests to approvals 2017-02-10 11:53:29 +00:00
Martin Hořeňovský
73159ace3d REQUIRE_THROWS_AS now catches exception by const&
Prevents some warnings caused by catching complex types by value.

Closes #542
2017-02-09 12:57:01 +01:00
Martin Hořeňovský
9952dda524 REQUIRE_THROWS_AS is now reported with expected type as well
Also updated tests to reflect this change.
2017-02-09 12:51:43 +01:00
Phil Nash
4d0cd602e3 Rebased approvals with tags and description attributes in XML report 2017-02-07 23:14:49 +00:00
Phil Nash
1f271c9944 XmlWriter reverts to XML 1.0.
Character encodings that are not valid in XML 1.0 are instead written using C-style escapes
2017-02-07 22:48:06 +00:00
Martin Hořeňovský
7db4d8d90c Added tests (single char pretty printing + op overload)
Tests for issue #809 -- Potentional operator overload ambiguity -- and
PR #646 -- Pretty print characters.
2017-02-07 13:32:48 +01:00
Phil Nash
197bf075c4 Rebased again - against the right executable this time :-s 2017-02-06 16:25:09 +00:00
Phil Nash
1f5ec9884c Rebased approvals following previous reversal (d’oh!) 2017-02-06 16:23:34 +00:00
Phil Nash
88b760276d Revert "XmlWriter reverts to XML 1.0."
This reverts commit a189387f49.
2017-02-06 16:21:01 +00:00
Phil Nash
23eb4cc580 Added stdout and stderr to XML Reporter 2017-02-06 16:14:06 +00:00
Phil Nash
a189387f49 XmlWriter reverts to XML 1.0.
Character encodings that are not valid in XML 1.0 are instead written using C-style escapes
2017-02-06 16:00:05 +00:00
Martin Hořeňovský
f11a45aa67 Added benchmark for the char literals change 2017-01-29 23:23:33 +01:00
Martin Hořeňovský
efab3ca8b2 Added benchmark result for the SourceLineInfo change 2017-01-29 22:10:37 +01:00
Martin Hořeňovský
c390c4cb9f Fixed inconsistent and trailing whitespace
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.

Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.

Fixes #105
2017-01-26 23:13:12 +01:00
Martin Hořeňovský
60a9ac7e65 Enabled previous commit under MSVC, introduced new feature toggle 2017-01-26 18:47:29 +01:00
Jonathan Coe
c06afe438e Add support for comparison of Approx with strong typedefs
closes #652
2017-01-26 18:44:03 +01:00
Martin Hořeňovský
4ce11d63a6 Merge branch 'dev-performance' 2017-01-25 22:56:36 +01:00
Martin Hořeňovský
51107d7cbd Added copyright headers to benchmark files. 2017-01-25 22:42:41 +01:00
Martin Hořeňovský
83f4b39680 Added benchmark for previous commit, added iterations to failure bench. 2017-01-25 22:39:43 +01:00
Phil Nash
6c23a6582b Mark CHECKed-throw test as [failing] 2017-01-24 09:53:04 +00:00
Phil Nash
7bcb42496d Changed exception tests to allow for now throw-from-CHECK behaviour 2017-01-23 17:56:41 +00:00
Phil Nash
225e90d8ba Don’t include tests that rely on varying two-phase-lookup behaviour in approval tests 2017-01-23 17:47:58 +00:00
Phil Nash
876af874f3 Added surrogate cpp for catch_test_case_tracker 2017-01-23 15:18:23 +00:00
Phil Nash
e7bcbb35c0 First cut of -c/—section option for running specific sections 2017-01-23 12:36:03 +00:00
Phil Nash
4a04682e49 Text formatting rework
Rewrote main wrapping loop. Now uses iterators instead of indices and intermediate strings.
Differentiates between chars to wrap before, after or instead of.
Doesn’t preserve trailing newlines.
Wraps or more characters.
Dropped support for using tab character as an indent setting control char.
Hopefully avoids all the undefined behaviour and other bugs of the previous implementation.
2017-01-23 12:28:40 +00:00
Martin Hořeňovský
b71a06cf98 JUnit reporter outputs timestamps now
Also extended approval tests script to support the change
2017-01-16 20:21:43 +01:00
Martin Hořeňovský
877fd523bc Added benchmark with Mickey Rose's improvements. 2017-01-14 22:51:44 +01:00
Martin Hořeňovský
3b7511e564 First commit of benchmarks for Catch runtime perf.
So far its very much a WIP with some problems that are known already and
not very representative tests.
2017-01-14 21:55:37 +01:00
Phil Nash
9062ebe390 Removed make file (now generated from CMake) 2017-01-12 11:22:30 +00:00
Phil Nash
b50572bbfd Renamed missing project explainer filename 2017-01-09 21:59:53 +00:00
Phil Nash
7bb3e859aa Removed all manually maintained project files in favour of instructions on how to use CMake to generate them 2017-01-09 17:38:42 +00:00
Phil Nash
0cde0e90a6 Added approvals for “Greater-than inequalities with different epsilons” test 2017-01-09 14:40:09 +00:00
Phil Nash
0f0dcd31eb Excluded two more C++11 tests from Approval tests 2017-01-09 14:37:28 +00:00
Phil Nash
62cbde369e Exclude test name from approval tests 2017-01-09 14:37:28 +00:00
Phil Nash
1ae84897d4 Marked tests that use C++11 features with [c++11] tag and exclude them from approval tests 2017-01-09 14:37:28 +00:00
Phil Nash
976a655496 Approval tests can use Catch path fixed in env. var, and convert nullptr and __null to 0 for comparison 2017-01-09 14:37:28 +00:00
Jonathan B. Coe
37e1e24309 add support for inequalities 2017-01-08 22:28:53 +01:00
Phil Nash
64193078bc Moved CMake into root folder (where it’s much happier - especially for CLion) 2017-01-06 16:00:00 +00:00
Phil Nash
79acc0504b Sort test ordering during Approval testing 2016-11-29 11:32:16 +00:00
Phil Nash
30cebd6177 Added some missing source files (including all SurrogateCpps) to CMake project.
Fixed up relative include paths to make this work.
2016-11-09 22:55:32 +00:00
Phil Nash
31861bbd46 rebased following recent changes 2016-09-27 10:28:11 +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
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
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
Phil Nash
447f53e9e3 Fixed !shouldfail 2016-03-14 19:13:34 +00:00
Phil Nash
f895e0d95f Rebased approvals following colour changes 2016-02-29 08:13:27 +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
Phil Nash
5262e61e9d Approvals for Matcher change (added comma) 2015-12-10 18:43:29 +00:00
Phil Nash
84d1c080d6 Keep Xcode 7.1 happy 2015-12-04 10:21:07 +00:00
Phil Nash
722315a1f5 Removed some trailing whitespace 2015-12-04 10:20:33 +00:00
Phil Nash
d274fc571c Added noexcept to CustomStdException destructor 2015-11-20 17:09:48 +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
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
71fd2c2fdf Fixed test names mentioning the new Matcher combinator operators 2015-11-06 18:07:28 +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
c81778ecd0 Fixed CMake file
(changed SectionTrackerTests.cpp - now deleted - to the new PartTrackerTests.cpp)
2015-11-03 17:06:24 +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
015e07100e Added SUCCEEDs to empty leaf sections to avoid failing due to no assertions 2015-11-03 07:46:37 +00:00
Phil Nash
bc8840cbb8 Removed deprecated section tracking implementation and tests 2015-11-03 07:38:14 +00:00
Phil Nash
471bd2556a Approved changes due to "No assertions" warnings now firing correctly on inner sections 2015-11-03 07:33:43 +00:00
Phil Nash
0b523db6b9 Converted all new part tracking tests/ sections to non variadic form 2015-11-02 06:16:09 +00:00
Phil Nash
b8515929b8 Moved all new tracking impl into catch_test_case_tracker.pp 2015-11-02 06:14:52 +00:00
Phil Nash
3deb3e010f Removed the "part" component of the tracker names 2015-10-29 19:41:50 +00:00
Phil Nash
73a140fb9e More minor tweaks 2015-10-29 19:33:25 +00:00
Phil Nash
ef62b578e2 Added tests for failing a section within a generator
- small fixes to implementation to make it work
2015-10-29 19:25:27 +00:00
Phil Nash
f4389b4fdb more minor clean-ups 2015-10-29 08:33:50 +00:00
Phil Nash
4b99be6a9a Cleaned tests up a bit 2015-10-29 08:17:55 +00:00
Phil Nash
293e54dcbe Added IndexTracker and got it working with a single generator
- made some simplifications to state machine
2015-10-29 08:02:40 +00:00
Phil Nash
9a6a0865f2 More name changes 2015-10-23 18:44:48 +01:00
Phil Nash
2c6411e70a Tweaks 2015-10-23 18:34:16 +01:00
Phil Nash
1cb993970a First cut of new section/ part tracking 2015-10-23 18:20:33 +01: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
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
85c8074784 Set group name to -n parameter (or exe name)
- As discussed in #469
2015-07-28 18:26:09 +01:00
Phil Nash
0edebf41b0 approvals rebase
- I *think* this fixes an earlier regression, but I'm not 100% sure where that came from!
2015-07-28 18:24:20 +01:00
Phil Nash
e085d4811a Qualified path to xmlwriter to fix travis error 2015-07-24 08:13:07 +01:00
Phil Nash
70975517b3 rebased approvals for long long test 2015-07-23 23:05:52 +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
72868920bb Exception message assertions now work with matchers 2015-07-15 23:02:25 +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
85de743d70 Added _THROWS_WITH macros
- asserts on exception message
2015-07-13 06:34:41 +01:00
Phil Nash
d6f1446e4e Fixed an issue on some compilers with implicit conversion from nullptr to Ptr
- also cleaned up some warnings to do with CATCH_NULL
2015-07-03 18:27:36 +01:00
Phil Nash
088c5bc53e --filenames-as-tags 2015-07-02 08:20:18 +01:00
Phil Nash
805de43a3d Use CATCH_NULL instead of NULL
- expands to nullptr if CATCH_CONFIG_CPP11_NULLPTR is defined (see #444)
2015-07-01 07:33:27 +01:00
Phil Nash
8cc1108f2b Use <= operator instead of ->* for decomposer
Allows more complex LHS expressions - and works around an Eclipse bug.
See Issues #359, #393 and #247 for details
2015-06-26 06:46:37 +01:00
Phil Nash
6ed74b5cab changed hex threshold on ints to 255
- and print it in *addition* to the decimal form
2015-05-20 18:28:22 +01:00
Phil Nash
bfa3f863d6 Removed some more warnings 2015-05-19 18:23:52 +01:00
Phil Nash
2fc9de9370 Updated approvals following merge of develop back to master 2015-05-18 18:11:58 +01:00
Phil Nash
d9fbc62093 Merged from develop 2015-03-27 17:54:45 +00:00
Phil Nash
856468c8c4 Rebased to include new --force-colour tests 2015-03-04 08:22:32 +00:00
Peter Huene
e5280b2c57 Add --force-colour option to force colour output.
Adding a --force-colour option to force colour output on POSIX systems,
provided a debugger is not attached.

This allows for Catch to output colours even if STDOUT is not a tty,
which can be the case when the test executable is being spawned by a
parent process (e.g. CMake's ctest).
2015-02-11 13:12:42 -08:00
Phil Nash
50183208a3 Added tests for toString<std::tuple<>> and rebased 2014-12-30 18:47:01 +00:00
Phil Nash
75a08bbc6c Merge branch 'tuple_to_string' of https://github.com/PureAbstract/Catch into PureAbstract-tuple_to_string 2014-12-30 18:42:17 +00:00
Phil Nash
c6635a7b79 Added type attribute to xml reporter output
- reports the macro used
2014-12-30 18:25:27 +00:00
Phil Nash
6817bb099d Fixed up xml reporter and rebased 2014-12-30 18:24:31 +00:00
Phil Nash
3c8c9b2933 rebased 2014-12-22 20:17:50 +00:00
Phil Nash
fa751e6a37 FIxed a couple of test names 2014-12-22 20:17:26 +00:00
Phil Nash
3dc3763b07 Rebased 2014-12-21 00:20:09 +00:00
Phil Nash
8ec959e936 TeamCity reporter work
expanded reporting - includes section headers
2014-12-20 00:46:02 +00:00
Phil Nash
458b3ae257 Fixed replace(inPlace) function
and added tests (should have done that in the first place - I'll never learn!)
2014-12-19 18:16:19 +00:00
Phil Nash
db0421e840 First commit of (in progress) TeamCity reporter
Should run but is not complete
2014-12-19 17:52:33 +00:00
Phil Nash
0dd214f6db tags with . prefix are all hidden 2014-12-15 07:25:34 +00:00
Phil Nash
ff9e51df7f toString( int ) uses hex for large values
now matches behaviour of unsigned int
2014-12-12 08:10:45 +00:00
Phil Nash
a99e75b928 Made approvals more platform agnostic
removes root from all paths - so only relative paths remain
2014-12-11 23:40:29 +00:00
Jamie Bullock
aaa1970a06 More generic and maintainable makefile. Fixes #348
- implicit recipes
- wildcard glob of C++ files in directory
2014-11-08 18:57:03 +00:00
Jamie Bullock
81fc6d7111 Remove missing catch_self_test.cpp, fixes #348 2014-11-07 11:37:27 +00:00
Phil Nash
a5dca3d370 removed some warnings 2014-10-03 08:17:40 +01:00
Phil Nash
383d7c06a1 Only use std::cout/ cert via Catch::cout/ cert - and make those conditional on CATCH_CONFIG_NOSTDOUT 2014-10-02 19:08:19 +01:00
Phil Nash
8ec9a5a547 Updated project for Xcode 6 2014-10-02 18:25:05 +01:00
Phil Nash
d4e5f18436 Merged group name commit from develop 2014-09-08 08:42:36 +01:00
Phil Nash
3e1d3c7271 Give (currently not used, so global only) group a name 2014-09-08 08:14:22 +01:00
Phil Nash
886ef1620a Some minor tidy-up/ style alignment of recent toString merges 2014-09-04 07:27:09 +01:00
Andy Sawyer
f559a51926 ToStringTuple - gcc doesn't like tuple init_list ctor 2014-09-04 01:05:51 +01:00
Andy Sawyer
13cbdf7e7d Add tests for toString(std::tuple<...>) 2014-09-04 00:34:29 +01:00
Phil Nash
5ea3266857 Added baselines for new test cases 2014-09-03 19:22:47 +01:00
Phil Nash
ee5e7ed2c9 Merge branch 'develop' of github.com:philsquared/Catch into develop
# By Andy Sawyer
# Via Andy Sawyer (1) and Phil Nash (1)
* 'develop' of github.com:philsquared/Catch:
  Updated CMakeLists.txt for toString work
  A bunch of Catch::toString tests
2014-09-03 19:19:05 +01:00
Phil Nash
dd22431fea Merge branch 'develop' of github.com:philsquared/Catch into develop
# By Andy Sawyer
# Via Andy Sawyer (1) and Phil Nash (1)
* 'develop' of github.com:philsquared/Catch:
  catch_tostring: tostring for enum class types
  SelfTest: Build as C++11, add EnumToString tests
  SelfTest: refresh makefile
2014-09-03 08:40:07 +01:00
Andy Sawyer
fdbbb2c9bd Updated CMakeLists.txt for toString work 2014-09-01 18:27:29 +01:00
Andy Sawyer
abf9ffc982 A bunch of Catch::toString tests 2014-09-01 18:09:37 +01:00
Andy Sawyer
142f8f4b1e SelfTest: Build as C++11, add EnumToString tests
Note: EnumToString tests currently fail - haven't made the changes to
catch_tostring yet.
2014-09-01 17:24:45 +01:00
Andy Sawyer
000e746415 SelfTest: refresh makefile 2014-09-01 17:21:14 +01:00
Phil Nash
cb8fe472b2 Approvals for develop branch 2014-08-22 08:13:47 +01:00
Phil Nash
8edf4bf5d3 Removed signal handler test, for now
(to avoid screwing up the approval tests)
2014-08-22 08:13:15 +01:00
Phil Nash
c1a8e1c5dd Added signal handlers (and placeholder for SEH handlers)
- based on PR 232 (https://github.com/philsquared/Catch/pull/232 - thanks Lukasz Forynski)
- Writes to reporter, so gets all the usual context, but then exits directly (since the stack cannot be resumed) so no summary
- On Windows does nothing, as yet.
2014-08-22 08:07:39 +01:00
Phil Nash
8b5a4e9355 Added approvals for new tests 2014-08-20 08:08:13 +01:00
Phil Nash
4aaf67ff31 const_casts to get rid of warnings in new wchar_t tests 2014-08-19 08:16:44 +01:00
Phil Nash
7bc0b44597 Merge branch 'master' of https://github.com/jbrwilkinson/Catch
# By James Wilkinson
# Via James Wilkinson
* 'master' of https://github.com/jbrwilkinson/Catch:
  Added SCENARIO_METHOD for BDD testing with fixtures.
2014-08-19 08:13:30 +01:00
Ben Arnold
c7cf0a9f8b Catch's Travis builds are using gcc that doesn't like the auto keyword 2014-08-14 12:53:21 +01:00
Ben Arnold
7b0a84a048 toString handles wchar_t raw strings 2014-08-14 12:28:23 +01:00
James Wilkinson
63005a1d89 Added SCENARIO_METHOD for BDD testing with fixtures. 2014-07-10 10:22:20 +01:00
Phil Nash
3ff3acf46c Approvals for last change 2014-07-09 19:21:44 +01:00
Phil Nash
d89e74faff Format floats like doubles when printing - but add ‘f’ suffix (a lá #291) 2014-07-09 18:16:40 +01:00
Phil Nash
23181eeef0 Section no longer relies on copy-elision for correctness
- should address #293
- *may* address #271
2014-07-09 07:39:57 +01:00
Phil Nash
08e5296720 Regenerated single include and baselines 2014-07-03 19:08:44 +01:00
Phil Nash
9c1f9a8f9a Added [!mayfail] tag to indicate test case that can fail without failing the suite.
Overhauled the summary report (including the expected failure count)
2014-07-03 08:09:57 +01:00
Phil Nash
d657b1ba52 Removed use of variadic form of SUCCEED from tests
- as per #284
2014-06-30 07:53:11 +01:00
Phil Nash
061861d940 Approved tag alias tests 2014-06-30 07:34:27 +01:00
Phil Nash
1d210ebd37 Tag aliases feature 2014-06-30 07:33:17 +01:00
Phil Nash
10801c2876 Folded ExpressionResultBuilder into ResultBuilder
(even more SRP violations!)
2014-05-29 07:50:19 +01:00
Phil Nash
9438a03d5b Big assertion capture refactoring.
- moved as much logic out of the macros as possible
- moved most logic into new ResultBuilder class, which wraps ExpressionResultBuilder (may take it over next), subsumes ResultAction and also takes place of ExpressionDecomposer.

This introduces many SRP violations - but all in the name of minimising macro logic!
2014-05-28 18:53:01 +01:00
Phil Nash
14796814b8 Approved new test case 2014-05-23 18:55:05 +01:00
Phil Nash
7cbf74061b Tweaked rawMemoryToString() along lines of suggestion in #281 2014-05-23 18:41:02 +01:00
Phil Nash
a2d8f774d2 Approved new test output 2014-05-20 18:28:48 +01:00
Phil Nash
2c9e9ac004 Fixed space separated lists of test specs
- they form an AND expression. They were forming an OR expression due to changes made to fix -f - so that had to be fixed differently
2014-05-20 18:28:19 +01:00
Phil Nash
baf181f15d Minor fixes to a couple of test names 2014-05-20 18:11:43 +01:00
Phil Nash
e21d0b29cc Killed a couple more warnings (one for VS2010 and one for Clang) 2014-05-19 19:04:38 +01:00
Phil Nash
3bdc97d8ad Suppressed a load of warnings 2014-05-19 18:57:14 +01:00
Phil Nash
7139035906 Updated approvals after adding extra tests 2014-05-19 18:21:01 +01:00
Phil Nash
fcf0deb116 Fixed issue with wildcards at the start of a string 2014-05-19 18:07:53 +01:00
Phil Nash
9bf43e7875 Refactored last usages of old tag parser and removed all the, now redundant, tag parsing code 2014-05-16 18:52:55 +01:00
Phil Nash
766491a7c4 Approved all the changes following name/ tag parser rework 2014-05-16 18:31:15 +01:00
Phil Nash
b1e7d161b5 Moved catch_test_spec.h to catch_test_spec.hpp 2014-05-16 18:28:58 +01:00
Phil Nash
ae75b3774a Switched over to new name/ tag parser 2014-05-16 18:24:07 +01:00
Phil Nash
56b8d3a5f9 Moved new test spec code into appropriate header
- about to remove old test spec code and rewire throughout the codebase!
2014-05-16 07:23:31 +01:00
Phil Nash
72e67693d4 Small test spec parser refactoring 2014-05-16 07:07:28 +01:00
Phil Nash
f8cff10ff6 First cut of new test spec parser code 2014-05-16 06:50:00 +01:00
Phil Nash
5a2df71b41 build 42: “compact” reporter
- thanks to Martin Moene
2014-05-01 19:07:02 +01:00
Phil Nash
c02c7003dc Merged Martin Moene’s “compact reporter” 2014-05-01 07:27:57 +01:00
Phil Nash
1a6f2a0a80 Changed the way noexcept support is handled to (hopefully) fix #275 and #273 2014-04-23 18:19:19 +01:00
Phil Nash
31caba4f73 Added test for invisibles 2014-04-23 07:07:27 +01:00
Phil Nash
328a469c03 Moved tostring impl into catch_tostring.hpp 2014-04-23 07:03:15 +01:00
Phil Nash
97150f27ac Renamed catch_tostring.hpp catch_tostring.h
- in preparation for splitting implementation into catch_tostring.hpp
2014-04-23 06:51:58 +01:00
Phil Nash
48153e8e10 Considers endianness when printing raw memory into a string 2014-04-22 08:19:11 +01:00
Phil Nash
a020865990 Sections are, once again, eagerly entered.
When the section tracking code was rewritten a while back to simplify and iron out some bugs the order of evaluation was changed so that each new section was skipped on the first run through.
This had unwelcome consequences for some people.
This commit restores the original semantics (while maintaining the simpler, less buggy, new code).
2014-04-21 19:02:38 +01:00
Phil Nash
cfc37b5fe9 Merge branch 'master' of github.com:philsquared/Catch
# By Alexander Manenko
# Via Alexander Manenko (1) and Phil Nash (1)
* 'master' of github.com:philsquared/Catch:
  Fix build issue with TchRunnerMainView in XCode 5
2014-04-18 08:28:13 +01:00
Phil Nash
41d3f2b88b Merge pull request #269 from alexander-manenko/master
Fix build issue with TchRunnerMainView in XCode 5
2014-04-18 08:17:37 +01:00
Phil Nash
6c4a7cdd64 Renamed XCode4 folder to just XCode
(It’s been Xcode 5 for a long time, now, anyway)
2014-04-17 07:38:10 +01:00
Phil Nash
87891cf38b Updated approval tests baselines 2014-04-16 18:00:55 +01:00
Phil Nash
20cad7cb1d Tags beginning with a non alpha-numeric character are now disallowed.
Added !throws special tag which denotes a test case to be skipped when run with -e
(the idea being that the test case is expected to throw an exception which is not caught within a XXX_THROWS assertion).
2014-04-15 18:44:37 +01:00
Phil Nash
1bccc03213 Secondary fix for #270 (addresses same issue with CHECK) 2014-04-12 19:20:46 +01:00
Phil Nash
a176b93738 Fix for #270 (REQUIRE continues if test throws an exception).
Added test case that reproduced the bug then applied the fix.
2014-04-12 19:07:24 +01:00
Phil Nash
e9d35377fa re-approved following recent command line description tweak 2014-04-12 19:05:03 +01:00
Alexander Manenko
3627ee6f2e Fix build issue with TchRunnerMainView in XCode 5 2014-03-30 18:33:40 +03:00
Phil Nash
472dc2a61f New version of Clara
- interface changed slightly
- moved clara.h and tbc_text_format.h into “external” folder
2014-03-17 18:40:58 +00:00
Phil Nash
04f994a8fc Updated VS2010 project (removed CmdLineTests.cpp) 2014-03-07 06:53:30 +00:00
Phil Nash
9b4c7fa0f7 Updated cmake file with command line test removal 2014-03-06 08:21:47 +00:00
Phil Nash
fd879f7e77 Build 28
- new version of Clara
- removed command line tests
2014-03-06 08:17:24 +00:00
Phil Nash
b9fea75109 New version of Clara.
- updated command line setup with new API
- updated STITCH macros
- force embedded Clara to use Catch’s console width (but restore it after)
- remove command line tests (as these have now moved into the Clara project)
2014-03-06 08:16:06 +00:00
Phil Nash
f899552d52 updated single include test project 2014-02-11 18:12:31 +00:00
Phil Nash
0dc49d1b57 Extracted stand-alone micro-library, tbc_text_format.h, from catch_text.h.
- use this version in clara.h so clara can stand alone.
2014-02-11 06:32:56 +00:00
Phil Nash
c98a97cf90 Tweaked Cliche macros/ names 2014-02-10 17:30:12 +00:00
Phil Nash
4554155e3d Made Clara a “Cliche” header, which will be usable independently of Catch.
- This is just a first step. It still has a dependency on catch_text.h, which also needs to be made a Cliche header.
- These then need their own homes on GitHub.
2014-02-10 17:20:30 +00:00
Phil Nash
e091018514 Fixes toString() for function pointers and added support for member function pointers.
- thanks to Malcolm Noyes for supplying sample code on which the solution here was based
2014-01-07 17:25:27 +00:00
Phil Nash
886d9d397c Reporter command line parser errors more eagerly
- show all “unrecognised option” errors
2013-12-20 19:06:02 +00:00
Phil Nash
1aa60fada9 Changed Approx::toString() to be implemented in terms of toString( double ) (as proposed in #233) 2013-12-19 18:41:55 +00:00
Phil Nash
fb90d38310 Changed stdout/ stderr messages to be less misleading 2013-12-19 08:07:33 +00:00
Phil Nash
f6d2fef26b Updated project for OCUnit 2013-12-18 08:37:35 +00:00
Phil Nash
557b3bdbe3 Made SUCCESS variadic too (optional stream) 2013-12-14 23:16:03 +00:00
Phil Nash
9d7b77956c build 19
- fixes nullptr regression (I had accidentally left in some dev changes)
2013-12-14 22:53:28 +00:00
Phil Nash
859760abb4 Build 18 2013-12-14 14:34:05 +00:00
Phil Nash
b4625208d0 Test for FAIL that doesn’t take an argument 2013-12-14 14:30:58 +00:00
Phil Nash
a1e87a4b7d trim test/ section names in xml reporter
- BDD-style test names have leading spaces for alignment in the console reporter
2013-12-10 08:20:46 +00:00
Phil Nash
de49ec4d7c Fixed broken single header following script change
- fixed the script (was missing #ifdefs)
- also fixed single include (Xcode) test project
- build 16
2013-12-04 20:25:14 +00:00
Phil Nash
87b20e8dab SourceLineInfo takes char*s instead of std::strings 2013-12-04 08:12:30 +00:00
Phil Nash
3524321295 Removed some cruft 2013-12-04 07:58:21 +00:00
Phil Nash
c4a089c12b Refactored a lot of code from headers into impl headers only compiled into one TU
- also added noimpl option to single header script - which only generates the non impl code
2013-12-03 18:52:41 +00:00
Phil Nash
ba13f3f098 Restored second arg to a TEST_CASE for non variadic compilers 2013-11-21 08:08:05 +00:00
Phil Nash
063593828c Removed deleted file from CMake 2013-11-21 08:07:37 +00:00
Phil Nash
ca7292e3a7 Removed redundant MetaTestRunner 2013-11-19 19:03:11 +00:00
Phil Nash
337dc25ed7 Converted all test case names to "modern" style (freeform text + tags) 2013-11-19 07:21:03 +00:00
Phil Nash
a9fd5b3f14 Removed cruft from VS projects 2013-11-14 23:35:56 +00:00
Phil Nash
d3c8c9839f Merge pull request #214 from AIM360/weibelt/fix-eol
Fixed crlf issue
2013-11-14 15:28:58 -08:00
Phil Nash
4f57c8c589 Print warnings if no assertions and not running with -s 2013-11-13 08:07:38 +00:00
Tobias Weibel
2e4be2125b Fixed crlf issue 2013-11-07 13:05:29 +01:00
Fraser Hutchison
69a3f161f9 Added CTest targets to perform basic test of --list-tests and --list-tags options. 2013-10-24 02:57:46 +01:00
Phil Nash
93a945cee9 Fixed uninitialised members in Context object 2013-10-23 15:35:07 +01:00
Phil Nash
a2bff4877e Merge branch 'master' of git://github.com/AIM360/Catch 2013-10-21 08:43:40 +01:00
Phil Nash
cb7b4ecbdc Updated VS2010 project 2013-10-21 08:31:17 +01:00
Phil Nash
aafed303bb Added an extra tag test 2013-10-17 18:02:09 +01:00
Phil Nash
a35ee200da Filter out version number from approval tests 2013-09-30 08:05:14 +01:00
Phil Nash
16c21ee265 No, really trim paths in approval tests down to just filenames 2013-09-30 08:01:10 +01:00
Phil Nash
1e74938538 Trim paths in approval tests down to filenames 2013-09-30 07:39:06 +01:00
Phil Nash
2f7a296897 Split approve file into multiple files 2013-09-27 19:01:14 +01:00
Phil Nash
345a4eab9b Removed outdated Xcode 3 project 2013-09-26 07:30:49 +01:00
Phil Nash
41b27af45b Fix for comma separated tags on the command line
- also added more test for tags
2013-09-25 18:40:07 +01:00
Phil Nash
649cd13c4d Upgraded project for latest Xcode 2013-09-24 07:42:08 +01:00
Phil Nash
1e2f1d1603 Fixes toString forward reference issue:
- as raised in https://github.com/philsquared/Catch/pull/195
2013-09-14 19:58:45 +01:00
Phil Nash
f7378eebb6 Fixed string indexing bug 2013-09-07 12:07:38 +01:00
Phil Nash
638cf9feb4 Separated out catch_platform.h 2013-08-16 19:08:39 +01:00
Phil Nash
46118714b1 Build 8
- includes command line tweaks and fixes for durations
2013-08-16 19:01:32 +01:00
Phil Nash
1870ca8455 Some Clara/ command line clean-up and tweaks 2013-08-16 18:57:57 +01:00
Phil Nash
3faa412855 Removed basic reporter 2013-08-15 19:09:07 +01:00
Phil Nash
11b5179ceb Redacted test durations from JUnit reporter output in approval test script 2013-08-15 18:50:40 +01:00
Phil Nash
2ddb9d3802 Completed CumulativeReporterBase and reimplemented JUnitReporter in terms of it 2013-08-15 18:39:55 +01:00
Phil Nash
29ccaa67ad Replaced currentSectionInfo and m_rootSection with m_sectionStack 2013-08-08 08:05:19 +01:00
Phil Nash
6339254cb2 First cut of Timer class.
- started integrating with reporters (now (optionally) supported in console reporter).
- introduced Node<> template to help with cumulative reporting and used it instead of ThreadedSectionInfo.
2013-08-07 18:56:35 +01:00
Kosta
ba24e51306 cmake: call SelfTest exe instead of approvalTests script
Just call the SelfTest executable directly for testing, since there seems to be a problem with the approval tests python script right now.
2013-08-05 13:44:37 +02:00
Kosta
c4863842c8 more approval tests script debugging 2013-08-05 13:29:42 +02:00
Kosta
5553a538c5 tweak CMakeLists.txt 2013-08-05 12:57:29 +02:00
Kosta
ce441a9ba5 initial checkin of cmake and travis config files 2013-08-05 12:43:51 +02:00
Phil Nash
b80280f428 Tidied up reporting of missing assertions in test cases
- also removed basic reporter from approval test
2013-07-26 19:19:44 +01:00
Phil Nash
28d3881ff9 Merged TestCaseTracker and SectionTracker and introduced TestCaseTracker::Guard 2013-07-25 08:07:55 +01:00
Phil Nash
ee647f5099 Removed displaced RunningTest class 2013-07-25 07:49:00 +01:00
Phil Nash
9aff9aa328 Integrated new section tracker.
- also pass extra section to reporter - one for each test case - ignore it in headers
  (this is so we know a test case has restarted)
- significant effect on regression test due to change of ordering of sections
- fixes infinite loop issue
2013-07-24 19:13:08 +01:00
Phil Nash
6a484fdb02 Reworked SectionTracker and moved into own header 2013-07-23 18:48:36 +01:00
Phil Nash
372a6c6fed Small fixes and started new section tracking code 2013-07-23 08:15:34 +01:00
Phil Nash
ad7445d33c build 5
- added throw() to streambuf destructor overrides (#182)
2013-07-02 08:49:29 +01:00
Phil Nash
3907559896 build 4 2013-07-01 19:02:29 +01:00
Phil Nash
109f46a48b Fixed broken test 2013-07-01 19:00:55 +01:00
Phil Nash
066a6388d6 Fix for #179 2013-07-01 18:45:19 +01:00
Phil Nash
4b5e008b20 guard NOMINMAX definition (windows) 2013-06-29 20:31:17 +01:00
Phil Nash
cd688300b0 Build 2 2013-06-29 12:11:32 +01:00
Phil Nash
5d26ca1af7 Static assertion for && and || expressions 2013-06-29 12:07:33 +01:00
Phil Nash
a9b346b14d Removed line numbers from approval tests of xml too 2013-06-29 12:04:38 +01:00
Phil Nash
40b8c7794c Removed line numbers from approval tests 2013-06-29 11:59:49 +01:00
Phil Nash
b5fd5a6496 INFO and CAPTURE are now scoped
- SCOPED_INFO and SCOPED_CAPTURE are now just aliases
2013-06-28 17:09:57 +01:00
Phil Nash
0d357302a0 INFOs only reset at assertion if consumed 2013-06-28 16:25:49 +01:00
Phil Nash
239fa28e46 Added run without -s to approvals 2013-06-28 16:23:14 +01:00
Phil Nash
47751e4df3 Approved [.] change 2013-06-28 16:07:42 +01:00
Phil Nash
9c39a5e8dd Support [.] as alias for [hide] 2013-06-28 16:05:13 +01:00
Phil Nash
235204393a Big merge from Integration
- now v1.0 build 1
2013-06-28 14:11:28 +01:00
Phil Nash
5b15c21c9c Fixed iTChRunner 2013-06-12 19:05:21 +01:00
Phil Nash
c57ebc84b2 Approved latest changes 2013-06-05 08:20:34 +01:00
Phil Nash
cb60d130f8 Runner -> RunContext, Runner2 -> Runner and fixed issue with processName 2013-06-05 08:18:52 +01:00
Phil Nash
2ed56c47a6 Removed legacy cli parser 2013-06-04 08:38:40 +01:00
Phil Nash
aee9b75e37 Now fully switched over to Clara-based command line with modified args 2013-06-04 08:37:28 +01:00
Phil Nash
0514fe4f38 Got parseCommandLine ready to use new Clara (but not doing so yet) 2013-05-31 18:48:31 +01:00
Phil Nash
c9f0f55451 Last changes to ConfigData names (for now) 2013-05-31 08:01:56 +01:00
Phil Nash
40e529740c Removed stream name from config 2013-05-29 19:06:25 +01:00
Phil Nash
3f184e22e8 ConfigData now looks virtually identical to the Clara test Config 2013-05-29 19:01:06 +01:00
Phil Nash
20ddb0055f ConfigData just keeps strings for test names/ specs/ tags (processed in Config actor) 2013-05-29 18:56:29 +01:00
Phil Nash
c2ca80d9fb Config refactoring: split List enum into three bools 2013-05-29 18:42:46 +01:00
Phil Nash
3c3beb57c3 More config refactoring 2013-05-29 18:34:11 +01:00
Phil Nash
be8fd82f20 Started nudging ConfigData towards new layout 2013-05-29 08:12:57 +01:00
Phil Nash
ca9b92f8fa Most of system now uses Ptr<IConfig const> 2013-05-28 18:51:53 +01:00
Phil Nash
e1459955f1 Refactoring towards interface based config 2013-05-28 18:39:32 +01:00
Phil Nash
10fa0593db Moved Clara into its (her?) own file 2013-05-27 10:52:58 +01:00
Phil Nash
1e547afe79 Tweaked some option names and added verbosity 2013-05-24 19:23:44 +01:00
Phil Nash
ab6dd55fcf Clara: formatting and code tweaks 2013-05-23 19:01:10 +01:00
Phil Nash
b7632659f5 Clara: Usage strings for args 2013-05-21 19:21:24 +01:00
Phil Nash
ed79d726be Clara: support for positional arguments 2013-05-21 08:15:50 +01:00
Phil Nash
30cb460d42 Clara: added test for positional arg 2013-05-20 18:45:33 +01:00
Phil Nash
3dde25be7d Clara: support for binary functions 2013-05-20 18:40:51 +01:00
Phil Nash
d44f2cf40f Added binding to free functions (and renamed hierarchy) 2013-05-20 08:31:12 +01:00
Phil Nash
d4305377b7 Fixed inconsistency in reporting of _FALSE (negated) expressions 2013-05-17 19:35:33 +01:00
Phil Nash
374335fc84 Approved current output 2013-05-17 08:18:42 +01:00
Phil Nash
6574f639a3 Refactored CLI tests and converted main one into a scenario 2013-05-17 08:00:57 +01:00
Phil Nash
8d1100daa6 Clara: added -r option 2013-05-17 07:43:58 +01:00
Phil Nash
8333e644f2 Clara: some refactoring
- moved all internal stuff into Detail
- moved Parser out of CommandLine, encapsulates tokens.
- allow unused tokens to be feed into different CommandLine processors
2013-05-16 19:07:50 +01:00
Phil Nash
58846c395c Clara: Added support for compact short opts (e.g. -peb) 2013-05-16 08:21:13 +01:00
Phil Nash
372a8b018d New CLI parser impl 2013-05-15 19:25:34 +01:00
Phil Nash
597ed1f79d handle TEST_CASE_METHOD macro consistently
- internally define INTERNAL_CATCH_TEST_CASE_METHOD
2013-05-14 19:31:21 +01:00
Phil Nash
0c5626962a test case for infinite loop 2013-05-13 08:20:45 +01:00
Phil Nash
11e55161e1 Some refactoring of Clara impl and experimental string based interface 2013-05-07 18:53:14 +01:00
Phil Nash
e2f93b6507 Clara: Allow space separator, as well as : and = 2013-05-03 08:08:46 +01:00
Phil Nash
a13ab71cbf Clara: Some renames and changed the addOption interface 2013-05-02 18:41:08 +01:00
Phil Nash
ed45ceb786 Added support for binding to methods and generating usage strings.
Also renamed namespace to Clara
2013-05-01 19:01:48 +01:00
Phil Nash
46846a47f3 More CmdLine work
- Support for non string values
- Support for chaining parsers
2013-04-29 19:26:18 +01:00
Phil Nash
26ae11774b First draft of future opt parser lib 2013-04-27 12:26:13 +01:00
Phil Nash
8defc71e6d Build 38 2013-04-24 19:10:02 +01:00
Phil Nash
1309da2b55 approved changes relating to no-return functions 2013-04-24 18:51:34 +01:00
Phil Nash
bf37e6879a Removed use of compiler specific techniques for denoting non-returning functions
- use if( Catch::isTrue( true) ) to guard throws instead
2013-04-23 20:52:49 +01:00