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ý
efab3ca8b2
Added benchmark result for the SourceLineInfo change
2017-01-29 22:10:37 +01:00
Martin Hořeňovský
60f8ebec49
Use const char* for filename in SourceLineInfo
...
This is sane, because those `const char*`s are given to us by compiler,
from the text area and thus we do not have to manage their lifetimes. We
also never want to change them.
Also moved copy constructor to compiler-generated methods, not sure why
it wasn't -- even before it was the same as a compiler would generate.
2017-01-29 22:03:27 +01:00
Martin Hořeňovský
e1dbb7cf64
First draft of issue and PR templates.
...
Apparently we can also get contributing.md to be linked from
issues and PRs, but it would also have to be in .github folder
or in root of the project.
2017-01-28 11:42:11 +01:00
Alexander Ryabykin
02a69b449f
Compilation warnings fix ( #791 )
...
* Compilation warnings fix
* Removed unused argument from reportFatal function
2017-01-27 09:32:58 +01:00
Martin Hořeňovský
c390c4cb9f
Fixed inconsistent and trailing whitespace
...
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.
Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.
Fixes #105
2017-01-26 23:13:12 +01:00
Martin Hořeňovský
60a9ac7e65
Enabled previous commit under MSVC, introduced new feature toggle
2017-01-26 18:47:29 +01:00
Jonathan Coe
c06afe438e
Add support for comparison of Approx with strong typedefs
...
closes #652
2017-01-26 18:44:03 +01:00
Martin Hořeňovský
73872207db
Direct download link now links to latest release version
...
Also edited releaseCommon script to update the link in readme as well.
2017-01-26 13:12:19 +01:00
Joshua Gerrard
51860f1568
Change include -> single_include in CMake example
2017-01-26 10:24:48 +01:00
Martin Hořeňovský
dab1d9d222
Added CheckFileList in CMake over the benchmark sources
2017-01-25 23:02:25 +01:00
Martin Hořeňovský
4ce11d63a6
Merge branch 'dev-performance'
2017-01-25 22:56:36 +01:00
Martin Hořeňovský
99c2ea594c
Renamed measurement script for benchmarking
2017-01-25 22:55:11 +01:00
Martin Hořeňovský
51107d7cbd
Added copyright headers to benchmark files.
2017-01-25 22:42:41 +01:00
Martin Hořeňovský
83f4b39680
Added benchmark for previous commit, added iterations to failure bench.
2017-01-25 22:39:43 +01:00
Martin Hořeňovský
b1171bd1f2
Merge branch 'dev-signals'
2017-01-25 22:09:52 +01:00
Phil Nash
6c23a6582b
Mark CHECKed-throw test as [failing]
2017-01-24 09:53:04 +00:00
Phil Nash
7bcb42496d
Changed exception tests to allow for now throw-from-CHECK behaviour
2017-01-23 17:56:41 +00:00
Martin Hořeňovský
184865358c
CHECK no longer stops running SECTION on exception.
...
This seems to be much closer to desired behaviour than the current one, where
CHECK(false) lets the execution continue, but CHECK(<throws>) does not.
2017-01-23 17:52:17 +00:00
Phil Nash
225e90d8ba
Don’t include tests that rely on varying two-phase-lookup behaviour in approval tests
2017-01-23 17:47:58 +00:00
Phil Nash
31c23b9489
Added [!nonportable] tag
2017-01-23 17:44:55 +00:00
Phil Nash
f347611403
Restated text format loop to avoid out-of-bounds condition
2017-01-23 16:58:49 +00:00
Phil Nash
1efd8d3067
Added missing <iterator> #include
2017-01-23 15:19:42 +00:00
Phil Nash
876af874f3
Added surrogate cpp for catch_test_case_tracker
2017-01-23 15:18:23 +00:00
Phil Nash
e7bcbb35c0
First cut of -c/—section option for running specific sections
2017-01-23 12:36:03 +00:00
Phil Nash
4a04682e49
Text formatting rework
...
Rewrote main wrapping loop. Now uses iterators instead of indices and intermediate strings.
Differentiates between chars to wrap before, after or instead of.
Doesn’t preserve trailing newlines.
Wraps or more characters.
Dropped support for using tab character as an indent setting control char.
Hopefully avoids all the undefined behaviour and other bugs of the previous implementation.
2017-01-23 12:28:40 +00:00
Martin Hořeňovský
9a56609569
v1.6.1 build
2017-01-20 12:49:59 +01:00
Martin Hořeňovský
81159838a5
Python scripts can now be run directly from bash
2017-01-20 12:28:40 +01:00
Martin Hořeňovský
78a2866dc7
Approval tests are now mostly Windows compatible
...
There are some differences in output between Catch on Windows and
Catch on Linux, that indicate a minor bug, but those have to be fixed separately.
2017-01-19 23:56:31 +01:00
Martin Hořeňovský
9acc6b9673
Approval tests now use Python std lib instead of call to diff
...
This needed to change to let it run on Windows as well as on the Unices
2017-01-19 22:52:47 +01:00
Martin Hořeňovský
c4b5057094
Approval tests now uses path relative to cwd, not the catch folder.
...
This means that bash's autocompletion is actually helpful.
2017-01-19 22:08:51 +01:00
Mickey Rose
d38b9266e7
simplify output filtering in approvalTests.py
2017-01-19 22:04:29 +01:00
Mickey Rose
227598af47
use sizeof(expr) for unevaluated syntax check
2017-01-19 21:25:27 +01:00
Martin Hořeňovský
cfaf906417
Changed documentation to use standard main function signature
2017-01-19 17:05:01 +01:00
Martin Hořeňovský
ee0ca512ea
Force short-circuited evaluation for types that have overloaded &&.
...
This fixes #574 .
2017-01-17 23:31:03 +01:00
Martin Hořeňovský
b71a06cf98
JUnit reporter outputs timestamps now
...
Also extended approval tests script to support the change
2017-01-16 20:21:43 +01:00
Martin Hořeňovský
531d26739f
Added the new proxy header to CMakeLists.txt
2017-01-16 19:56:57 +01:00
Martin Hořeňovský
2e87f8e328
Merge branch 'windows-header-defines' of https://github.com/horenmar/Catch
2017-01-16 17:00:43 +01:00
Martin Hořeňovský
afe46ff270
Extracted NOMINMAX and WIN32_LEAN_AND_MEAN guards into a proxy header
2017-01-16 16:52:44 +01:00
Phil Nash
c65aeaf25f
Clean up generator state
2017-01-16 10:34:16 +00:00
Phil Nash
750b52b814
suppress use of __COUNTER__ when being parsed by CLion (or AppCode).
2017-01-16 10:34:16 +00:00
jbo-ableton
e12fc4aca0
Fix missing CATCH_ for CHECK_THAT in prefixed macro version
2017-01-15 22:11:43 +01:00
Martin Hořeňovský
99cdc62fef
Enabled CMake dev warnings in travis.
2017-01-15 22:08:12 +01:00
Martin Hořeňovský
e6ef60a2c4
CMake will now warn if a file is in folder, but not in variable
2017-01-15 22:07:36 +01:00
Vadim Zeitlin
e1c4a4bd9b
Use inline assembly with gcc under Linux for CATCH_TRAP
...
This is more convenient than using the generic portable raise(SIGTRAP) as it
avoids having another stack frame in the debugger when the break happens.
2017-01-15 19:29:34 +01:00
Vadim Zeitlin
25d017763b
Refactor CATCH_BREAK_INTO_DEBUGGER() to avoid repetition
...
Don't duplicate Catch::isDebuggerActive() check many times, do it just once
in CATCH_BREAK_INTO_DEBUGGER() definition and use a separate CATCH_TRAP()
macro for the really platform-dependent part.
2017-01-15 19:29:34 +01:00
Vadim Zeitlin
b634e592da
Add support for breaking into debugger for Linux
...
Use Linux-specific /proc/$PID/status file to check whether we're being
debugged and a generic raise(SIGTRAP) to actually break into the debugger.
2017-01-15 19:29:34 +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
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