Commit Graph

46 Commits

Author SHA1 Message Date
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ý 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 21cbfc107e --list-test-names quotes test names that start with #
- completes #717
2016-09-27 10:43:03 +01:00
Phil Nash c06e1909ae Refactored test filtering and sorting 2015-08-04 23:11:56 +01: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 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 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 1d210ebd37 Tag aliases feature 2014-06-30 07:33:17 +01:00
Phil Nash d12c00666a Make TagInfo non-local 2014-05-20 19:02:10 +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 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 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 782c2b5891 Added ability to load names of tests to run from a file
- use -f to specify filename. Blank lines and lines starting with # are ignored
- also added --list-test-names-only to list test names out to file in a form that can be immediate read in by -f
2013-11-26 20:57:34 +00:00
Phil Nash ecb9432763 Simplified and tidied test case and tag listing 2013-11-12 18:59:34 +00:00
Fraser Hutchison 6253386458 Fixes overflow issue when listing tests. 2013-10-24 02:53:13 +01:00
Phil Nash 0b097c26b6 Fix wrapping width when listing tests
- addresses #201
2013-10-02 08:07:52 +01:00
Phil Nash f3d1f08c3b Removed all trailing whitespace
- addresses #105
2013-07-03 19:14:59 +01:00
Phil Nash cd688300b0 Build 2 2013-06-29 12:11:32 +01:00
Phil Nash 11381c146c Tweaked indentation of errors and test lists 2013-06-07 19:06:30 +01:00
Phil Nash 27cae858d0 Use Text formatter to list reporters 2013-06-07 18:56:43 +01:00
Phil Nash 80557647d6 re-encapsulated session vars.
- construct Config object lazily
2013-06-07 18:41:22 +01:00
Phil Nash f438e04b5d list options return number listed 2013-06-06 22:54:42 +01:00
Phil Nash f6892bfdf0 Listing is now in terms of interface (and calls to bool functions) 2013-05-29 07:59:01 +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 b3acf45d70 Fully committed to new Text class.
- moved impl into .hpp
- replaced last few uses of LineWrapper with Text
- removed LineWrapper
2013-04-20 19:36:40 +01:00
Phil Nash f186a912d4 Switched TextColour out for Colour
- Removed TextColour
2013-04-05 07:59:28 +01:00
Phil Nash a3703faa0a First cut of new Colour class (to replace TextColour) 2013-04-05 07:47:36 +01:00
Phil Nash 2a17ef9081 Use SecondaryText code in lists 2013-03-29 21:55:19 +00:00
Phil Nash e324d2829d Added -l tags
- which lists available tags.
- also improved formatting of -l for tests
2013-03-29 11:42:10 +00: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 dd26e889b5 Build 28 2013-03-25 09:25:31 +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 4c97fc5619 WIldcards at both ends 2012-08-24 08:23:50 +01:00
Phil Nash 56d5c42912 First cut of new filtering mechanism 2012-08-23 20:08:50 +01:00
Phil Nash a67d833091 More things using ConfigData 2012-08-13 19:27:03 +01:00
Phil Nash da0ae952fc Renamed static registries -> registry hub 2012-08-07 07:58:34 +01:00
Phil Nash 1091ca81e6 First cut of StaticRegistries - separate from Context 2012-08-06 20:16:53 +01:00
Phil Nash 5d73c5a008 Resolve reporter outside of Config
config now only only holds reporter name
2012-07-17 08:04:19 +01:00
Phil Nash 163088a11f Refactored command line parser to be more cohesive
Also added a set of unit tests for them (incomplete)
2012-05-31 19:40:26 +01:00
Phil Nash 371db8b42f Context methods are non-static - accessed via interface
This is a move towards allowing multiple contexts - with the concept of a (possibly thread local) "current" context
2012-05-21 18:52:09 +01:00
Phil Nash c67a7eef2b Moar reformatting 2012-05-15 23:58:23 +01:00
Phil Nash 5ec53b2788 renamed hub -> context
(also did some reformatting)
2012-05-10 07:58:48 +01:00
Phil Nash b213202ad7 Added self-test for section ordering
Added MockReporter for tracking test runs.
Added intrusive smart pointer. Config holds reporter by smart pointer, so we can route the mock reporter through multiple test runs
2012-05-04 07:55:11 +01:00
Phil Nash 823ea3efd4 Re-org 2011-04-26 08:32:40 +01:00