Phil Nash
4c5af2089a
Added CATCH_ENFORCE (and updated CATCH_INTERNAL_ERROR to be stream based)
...
replaced all ad-hoc exceptions (where appropriate) with CATCH_ENFORCE or CATCH_INTERNAL_ERROR - no explicit ostringstreams.
2017-05-05 15:43:31 +01:00
Phil Nash
41afd0c3d4
Removed copy ctor, assignment operator and swap from TestCaseInfo
2017-04-25 21:56:14 +01:00
Phil Nash
1f3ba8a0b6
Converted (almost) all for-loops with iterators or indices to range-based
2017-04-25 11:07:02 +01:00
Martin Hořeňovský
f64d914bff
Throw instead of calling exit in enforceNotReservedTag
...
Closes #865
2017-03-22 17:53:22 +01:00
Martin Hořeňovský
9012f95964
Moved some std includes out from catch_common.h
2017-02-12 12:17:07 +01:00
Martin Hořeňovský
d0620c3495
Added std:: qualification to some functions from C stdlib
...
This should solve #543 , once Clara changes are in as well.
2017-02-11 23:20:09 +01:00
Martin Hořeňovský
bcaa2f9646
Use char literal instead of string literal with 1 char
...
In reality, this is a relatively small performance improvement,
especially with the previous improvements removing lots of superfluous
string handling, but still was measurable.
2017-01-29 23:07:15 +01:00
Martin Hořeňovský
4ce11d63a6
Merge branch 'dev-performance'
2017-01-25 22:56:36 +01:00
Phil Nash
31c23b9489
Added [!nonportable] tag
2017-01-23 17:44:55 +00:00
Martin Hořeňovský
3b98a0166f
Various small string usage performance improvements.
...
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.
Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
2017-01-15 10:05:01 +01: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
088c5bc53e
--filenames-as-tags
2015-07-02 08:20:18 +01:00
Phil Nash
0ae7578028
Restored tag parsing when checking for reserved tags
...
- had been accidentally deleted in an earlier refactoring.
A bit worrying that this didn't get spotted sooner!
2015-03-04 19:01:25 +00:00
Phil Nash
0dd214f6db
tags with . prefix are all hidden
2014-12-15 07:25:34 +00:00
Phil Nash
6725e09003
any tag prefixed with . hides the test
2014-12-15 07:07:59 +00: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
a31f05fe83
Removed C-style casts
2014-07-09 07:35:34 +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
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
ee956bc94e
Fixed isHidden regression
2014-05-19 17:50:58 +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
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
47a5ad3038
Normalised “hidden” tags
2013-12-04 07:58:39 +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
337dc25ed7
Converted all test case names to "modern" style (freeform text + tags)
2013-11-19 07:21:03 +00:00
Phil Nash
f3d1f08c3b
Removed all trailing whitespace
...
- addresses #105
2013-07-03 19:14:59 +01:00
Phil Nash
9c39a5e8dd
Support [.] as alias for [hide]
2013-06-28 16:05:13 +01:00
Phil Nash
2a9d8d9e36
Changed "const X ref"s to "X const ref"s
...
- Brought older code up to current convention (with the help of a Python script)
2013-04-23 18:58:56 +01:00
Phil Nash
15fd032608
Use new line wrapper to show test case list, with tags, in columns
2013-03-28 22:13:31 +00:00
Phil Nash
6ba2057abd
refactored toLower
2013-03-22 19:00:42 +00:00
Phil Nash
fe98123d0b
Started new reporter, "console", which will replace "basic" when done.
...
Introduced Option template as part of this.
2012-12-05 08:40:53 +00:00
Phil Nash
f9d92634f5
First cut of using new streaming reporter interface - using an adapter to map back to the legacy interface
...
Doesn't do sections or the query functions (e.g. shouldRedirectStdOut)
2012-11-25 21:43:36 +00:00
Phil Nash
8baa06c63e
Split TestCaseInfo into a data only component and the test case function and behaviour.
...
Reporters only get to see the former
2012-11-25 11:19:55 +00:00
Phil Nash
06a671a349
Renamed TestCaseInfo -> TestCase
2012-11-22 19:17:20 +00:00
Phil Nash
78fba28c4b
Added className to TestCaseInfo
...
className is passed through from class based test methods and held in the TestCaseInfo.
For free-function based test cases it is set to "global".
The JUnit reporter uses the className value to populate he class attribute.
2012-11-04 21:11:59 +00:00
Matt Wozniski
07e20aa706
Merge remote-tracking branch 'phil' into include-guard-fixes
...
Conflicts:
single_include/catch.hpp
2012-09-26 21:42:44 -04:00
Phil Nash
67ec8709ea
First cut of command line support for tags
2012-09-26 18:38:26 +01:00
Phil Nash
85c0e3d42b
Tag command line parsing implementation
2012-09-21 07:48:03 +01:00
Matt Wozniski
f29c898443
Normalize include guards for all *.h and *.hpp
...
Some files had include guards that didn't match the file name, and
others were missing the include guards entirely.
Standardized this so that every include file has an include guard, and
all the guards are of the form TWOBLUECUBES_<FILENAME>_<EXT>_INCLUDED
2012-09-17 01:53:39 -04:00
Phil Nash
fc1baac7f5
First cut of tags support
2012-09-15 17:53:27 +01:00
Phil Nash
dea756f699
Capture test case hidden status in member variable
2012-09-12 18:40:24 +01:00
Phil Nash
c2675b5d49
Added copy actor and operator = back to TestCaseInfo
2012-08-23 08:38:27 +01:00
Phil Nash
ddfe963623
Split imll from TestCaseInfo
2012-08-14 19:30:30 +01:00
Phil Nash
9c6ce97f01
Made ITestCase a shared object
2012-08-14 08:38:22 +01:00
Phil Nash
1787da54a7
Reinstated #include that broke single include
2012-05-22 22:21:17 +01:00
Phil Nash
c67a7eef2b
Moar reformatting
2012-05-15 23:58:23 +01:00
Phil Nash
5d1c8f2c6d
Replaced all file/ line pairings with SourceLineInfo
2012-05-08 19:16:18 +01:00