Commit Graph

49 Commits

Author SHA1 Message Date
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
Phil Nash 3fd7dc0218 Prevent duplicate test names from being registered
If a test case with the same name as an already registered test case is registered an error is logged to cerr and the program exits (with error level 1)
2012-02-09 08:34:01 +00:00
Wichert Akkerman 6d18d4b189 Fix compiler warnings
Fix base classes without virtual destructors and missing initialisors.
2011-09-23 10:03:52 +02:00
Phil Nash 823ea3efd4 Re-org 2011-04-26 08:32:40 +01:00