Commit Graph

1480 Commits

Author SHA1 Message Date
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
Martin Hořeňovský
877fd523bc Added benchmark with Mickey Rose's improvements. 2017-01-14 22:51:44 +01:00
Mickey Rose
a1e9b841ff lazily stringify expressions 2017-01-14 21:56:16 +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
e3659cdddd Added single char version of logo 2017-01-13 18:49:49 +00:00
Phil Nash
d5360e8e29 Sorted file lists in CMakeLists.txt for easier maintainence 2017-01-12 11:54:53 +00:00
Phil Nash
9062ebe390 Removed make file (now generated from CMake) 2017-01-12 11:22:30 +00:00
Phil Nash
e6aa1f4e4e Added note on escaping names on command line to docs 2017-01-11 17:14:28 +00:00
Phil Nash
1ff0acfe22 Tweaked release notes page with better formatting 2017-01-11 16:50:35 +00:00
Phil Nash
713ec400e8 Fixed type in “Release Notes” link 2017-01-11 16:46:09 +00:00
Phil Nash
3b2f206191 v1.6.0 build - including release notes 2017-01-11 16:44:36 +00:00
Phil Nash
4e4d733f90 Added \ as escape character in test names on the command line - so you can run tests by name when they contain , or [ 2017-01-11 16:27:16 +00:00
Phil Nash
b68e8f9a24 Added missing #include so CATCH_CONFIG_COUNTER properly takes into account the current compiler.
May address #677 and #435 and others.
2017-01-11 16:27:16 +00:00
Phil Nash
a7cda91d4d Merge pull request #775 from philsquared/standardizing-feature-toggles
Standardize C++11 feature toggles to follow documentation
2017-01-11 16:27:05 +00:00
Martin Hořeňovský
a1bed572be Standardize C++11 feature toggles to follow documentation
Closes #774
2017-01-10 22:54:57 +01:00
Martin Hořeňovský
737f4ea77c Added missing C++11 feature toggle to docs 2017-01-10 22:43:58 +01:00
Phil Nash
b0de6c938a Updated docs for contributing 2017-01-10 07:36:06 +00:00
Martin Hořeňovský
6991549457 Fixed compile error under VS2015 /c++:latest, caused by using random_shuffle
Now if we detect C++11 compiler, or MSVC in version corresponding to VS2015,
we switch from using `std::random_shuffle` to `std::shuffle`.

`std::random_shuffle` was officially deprecated in C++14, and removed in C++17.

Also removed guarded inclusion of `<random>` header, as there was nothing
in the header that used it.
2017-01-09 23:29:13 +01:00
Phil Nash
b50572bbfd Renamed missing project explainer filename 2017-01-09 21:59:53 +00:00
Phil Nash
5b00fd40ba Merge pull request #767 from hmich/xml-encoder-extended-ascii
Do not encode extended ASCII characters in XML reporter
2017-01-09 18:37:52 +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
0bcae64d3d Set project name in CMakeLists.txt to CatchSelfTest 2017-01-09 17:38:42 +00:00
Phil Nash
8abe17a393 CMake project groups test files separately from surrogate impl files for nicer rendering as XCode/ VS projects 2017-01-09 17:38:42 +00:00
Kylo Ginsberg
10c44847f4 Make backticks symmetric in markdown 2017-01-09 18:03:40 +01: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
Martin Hořeňovský
5a4dde4b5d Changed build status to be always taken from master
Before it was taken from whatever last build happened, which led it show
a build error because I took PR against wrong branch.

This should be fixed now.
2017-01-08 21:49:14 +01:00
Antoine Wendlinger
8d326424f3 Minor typo fix 2017-01-07 22:05:18 +01:00
Eldar Zakirov
ccc34b63b6 URL fixed 2017-01-07 14:51:13 +01:00
Ross Bencina
7255be28cc remove concatenation of m_exprComponents.op in if-branch where op has tested empty in previous line 2017-01-07 13:37:08 +01:00
Kevin Ushey
7d2668fa15 add missing argument to CATCH_CHECK_THROWS (closes #602) 2017-01-07 12:16:06 +01:00
Martin Hořeňovský
2a4dba177f Merge branch 'philipp-classen-master'
Removed changes to the single-include header.
2017-01-07 10:31:36 +01:00
Philipp Claßen
8d1e240700 Fixed shell color code of "Blue" 2017-01-07 10:30:43 +01:00
faulda
e273a3dc88 Fix grammar error in tutorial.md
It's = it is
In the sentence "In fact it is usually a good idea to put the block with the ```#define``` [in it's own source file](slow-compiles.md).", the correct usage is "its", not "it's".
2017-01-07 09:56:21 +01:00
Victor
7bff9cb451 own-main.md: fix typo 2017-01-07 09:55:27 +01:00
andrew morton
fd1da4a1d1 Fixing a couple of typos
I tried to make sure I wasn't changing any British spellings so I apologize
if I've mixed any up.
2017-01-07 09:45:38 +01:00
Phil Nash
e1fbbe1590 Added headers to CMake project (for CLion) 2017-01-06 16:59:18 +00:00
Phil Nash
c8fefc4670 Fixed Travis and CMake after moving CMakeLists.txt 2017-01-06 16:19:20 +00: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
Igor Akhmetov
8d16d95a99 Do not encode extended ASCII characters in XML reporter 2016-12-26 11:39:19 +00:00
Phil Nash
2be372710e Build 1.5.9 2016-11-29 12:15:50 +00:00
Phil Nash
0c093bee38 Removed now redundant xml stream initialisation 2016-11-29 12:13:55 +00:00
Phil Nash
dedc7c56ce Merge branch 'horenmar-xml-reporter-fix' 2016-11-29 12:11:05 +00:00
Phil Nash
a9561ecb31 Merge branch 'xml-reporter-fix' of https://github.com/horenmar/Catch into horenmar-xml-reporter-fix 2016-11-29 12:10:46 +00:00
Phil Nash
e4df006568 Merge branch 'horenmar-missing-include-fix' 2016-11-29 12:05:35 +00:00
Phil Nash
fb99cc556d Merge branch 'missing-include-fix' of https://github.com/horenmar/Catch into horenmar-missing-include-fix 2016-11-29 12:05:11 +00:00