Commit Graph

642 Commits

Author SHA1 Message Date
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
b7e432eadc Updated version for develop branch 2014-08-20 19:07:46 +01:00
Phil Nash
544bf33e73 build 53
includes wchar_t toString overloads and SCENARIO_METHOD macros
2014-08-20 08:09:32 +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
7b0a84a048 toString handles wchar_t raw strings 2014-08-14 12:28:23 +01:00
Phil Nash
0aae635035 Re-enable warnings disabled for GCC 2014-07-28 07:27:05 +01:00
Fabien Caylus
ae76945eaf Hide warnings with GCC 2014-07-27 15:16:10 +02:00
James Wilkinson
63005a1d89 Added SCENARIO_METHOD for BDD testing with fixtures. 2014-07-10 10:22:20 +01:00
Phil Nash
28c2e07879 build 52 2014-07-09 19:22:49 +01:00
Phil Nash
76f80a670b More summary formatting tweaks 2014-07-09 19:20:24 +01:00
Phil Nash
cab9141eec Green summary bar is darker if not all passed
- and the green part now comes at the end (to emphasise the failures)
2014-07-09 18:24:24 +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
ce56209250 build 51 2014-07-09 07:40:37 +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
a469d9bc0f Made Colour copyable to remove warning 2014-07-09 07:36:12 +01:00
Phil Nash
a31f05fe83 Removed C-style casts 2014-07-09 07:35:34 +01:00
Phil Nash
94a1acf766 More tweaks to summary format 2014-07-03 19:06:59 +01:00
Phil Nash
52e1e7414a build 50 2014-07-03 08:11:38 +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
acdd3b5745 Build 49
- _THROWS fix
- tag aliases
2014-06-30 07:35:36 +01:00
Phil Nash
1d210ebd37 Tag aliases feature 2014-06-30 07:33:17 +01:00
Phil Nash
006aafd982 Some clean-ups for string handling in Objective-C 2014-06-20 18:05:31 +01:00
Phil Nash
11cf45bc41 Fixed regression with -e 2014-06-05 18:11:31 +01:00
Phil Nash
ab03668c55 build 48
- big assertion capture refactoring
2014-06-02 07:48:03 +01:00
Phil Nash
be9fe76101 Renamed ShouldNegate to FalseTest 2014-05-29 08:00:20 +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
7cbf74061b Tweaked rawMemoryToString() along lines of suggestion in #281 2014-05-23 18:41:02 +01:00
Phil Nash
48fac9cf01 build 47 2014-05-20 19:02:37 +01:00
Phil Nash
d12c00666a Make TagInfo non-local 2014-05-20 19:02:10 +01:00
Phil Nash
9241e436f9 Build 46
- Fixes some test spec parser issues and some warnings (compiler and analysers)
2014-05-20 18:50:59 +01:00
Phil Nash
5daa22dcc3 Fixed dereferenced null issue 2014-05-20 18:49:28 +01:00
Phil Nash
59d556907d Attempt to prevent analyser warnings about dereferencing null. 2014-05-20 18:41:34 +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
b43d7703e5 Tests hidden with legacy ./ prefix tagged as hidden 2014-05-20 18:11:23 +01:00
Phil Nash
fbf3f6f879 Fix case sensitivity when matching tags
(now insensitive again)
Also group case-different tags together when listing
2014-05-20 18:03:54 +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
ebd4888fe1 build 45
- fixes
2014-05-19 18:22:59 +01:00
Phil Nash
e8aa0bb19b Fixed issue with reading test names from file 2014-05-19 18:20:44 +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
b5d1cfe441 Suppress switch statement warning 2014-05-19 17:57:01 +01:00
Phil Nash
ee956bc94e Fixed isHidden regression 2014-05-19 17:50:58 +01:00
Phil Nash
65cc14c44e build 44
- new name/ tag parser (fixes #279)
2014-05-16 18:54:48 +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
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
f8cff10ff6 First cut of new test spec parser code 2014-05-16 06:50:00 +01:00
Phil Nash
ad4489043b Unanonymised unions to avoid breaking on compilers that don’t support them
- e.g. GCC 4.3 and 4.4
- fixes #281
2014-05-13 17:48:47 +01:00
Phil Nash
4e044ed4b1 build 43
- removed some pragmas
2014-05-04 09:23:30 +01:00
Phil Nash
5ce900a532 Removed some #pragmas that have been causing problems for now 2014-05-04 09:16:32 +01:00
Phil Nash
5a2df71b41 build 42: “compact” reporter
- thanks to Martin Moene
2014-05-01 19:07:02 +01:00
Phil Nash
4e9484ba30 Adjusted some elements of style in compact_reporter 2014-05-01 19:03:56 +01:00
Phil Nash
c02c7003dc Merged Martin Moene’s “compact reporter” 2014-05-01 07:27:57 +01:00
Phil Nash
9f1e054a42 Suppress some more warnings 2014-05-01 07:03:06 +01:00
Phil Nash
174049532e Build 41
- fixes
2014-04-23 18:19:49 +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
f1928b7f24 Include missing <cstring> header
- should fix issue #274
2014-04-23 17:51:30 +01:00
Phil Nash
aef6cd5332 build 40
- Fixed endianness when converting numbers to hex strings
- Added option to show invisibles (/t, /n) in printed strings with -i
- moved toString() impls to impl file
- avoid allocations for static strings used in reporter
2014-04-23 07:10:10 +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
7059b2cdac Added ability to show “invisibles” in strings (just tabs and newline chars, for now). 2014-04-22 18:23:42 +01:00
Phil Nash
f219194199 Replace some static strings with static char*s for leak detection friendliness (h/t #272) 2014-04-22 17:54:29 +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
d7e1790347 Merge branch 'master' of https://github.com/gnzlbg/Catch
# By gnzlbg
# Via gnzlbg
* 'master' of https://github.com/gnzlbg/Catch:
  Conditionally removes usage of deprecated features

Conflicts (resolved):
	include/internal/catch_common.h
	include/internal/catch_section.hpp
2014-04-18 08:49:35 +01:00
Phil Nash
9d469b6cb5 build 37 2014-04-18 08:30:31 +01:00
Phil Nash
7303b2b60e Changed branchName to char*, as per #266 2014-04-18 08:28:52 +01:00
Phil Nash
970127e488 Removed some unnecessary core macros 2014-04-16 18:01:31 +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
c5406a25bf build 35 2014-04-12 19:21:08 +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
af8cd98f20 New version of Clara that fixes operator= issue with ref member (#265) 2014-03-24 18:15:04 +00:00
gnzlbg
ce6598599b Conditionally removes usage of deprecated features
-add macros to test for C++ version and features
to catch_compiler_capabilities.hpp
- replaces dynamic exception specifications (deprecated)
with noexcept in C++ Version >= 11
- defines defaulted copy constructor/move constructors/assignment
in C++ Version >= 11 since their implicit generation is deprecated
under some circumstances.
- fixes #259
2014-03-20 14:03:51 +01: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
f9df35b12b Fixed instance of Clara::_ placeholder when using CATCH_CONFIG_RUNNER 2014-03-10 18:02:18 +00:00
Phil Nash
dd2810d60a build 30
- with Clara fix for null deref crash
2014-03-07 06:58:33 +00:00
Phil Nash
9abb27676d Fix problem (hopefully) with single source definitions from Clara
- define CLARA_CONFIG_MAIN in the right place
2014-03-06 21:53:34 +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
1f1ee3c63d New version of Clara
- Clara now built with new stitch script (based on generateSingleInclude)
- also fixed python scripts for python 3 (print now a function rather than a keyword)
2014-03-01 10:38:14 +00:00
Phil Nash
1c2fbe146b build 26 2014-02-11 18:12:41 +00:00
Phil Nash
5845ae94aa Added private assignment operator to fix VS2010 issue
- thanks to Kosta (#239)
2014-02-11 18:11:06 +00:00
Phil Nash
b15726beba Added #include for <memory> to Clara
- thanks again, Martin
2014-02-11 17:45:15 +00:00
Phil Nash
160b74d6c7 … and <stdexcept> 2014-02-11 17:41:11 +00:00
Phil Nash
633feaa4a6 Added #include <algorithm> to clara.h
- thanks Martin
2014-02-11 17:40:11 +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
b756243935 Fixed some comments 2014-02-10 17:31:31 +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
7eb5acc183 build 25
- fix for #231
2014-01-08 17:17:31 +00:00
Phil Nash
46a1fc7615 Removed unnecessary union name 2014-01-07 17:43:18 +00:00
Phil Nash
be890d0c15 build 24 2014-01-07 17:26:59 +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
440a47011f Convert pointers to integrates when printing.
- handles function pointers that way too (otherwise printed as 1 by gcc and clang)
2014-01-04 19:12:05 +00:00
Phil Nash
e45e3a139a Clara ignores anything after a lone — (double dash)
- this allows use within an environment that appends additional arguments that Clara will otherwise reject
- generated build 23
2013-12-23 10:24:06 +00:00
Phil Nash
91ef5f7d40 build 22 2013-12-20 19:06:26 +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