Phil Nash
c2b7bd15c0
Changed rhs expression capture from universal ref to const ref.
...
- addresses #1027
2017-10-13 14:16:14 +01:00
Phil Nash
ba6845a865
Version of Clara with (std::max)
2017-10-13 13:46:39 +01:00
Phil Nash
2eb93f47f7
enclosed more min/ max in parentheses to default MFC macros
2017-10-13 13:46:39 +01:00
Phil Nash
355ab78f4a
dev build 5
2017-10-12 13:06:41 +01:00
Phil Nash
927f520a97
Moved windows proxy inclusion outside of CATCH_CONFIG_COLOUR_WINDOWS guard, so workaround early inclusion can be removed
2017-10-12 10:37:23 +01:00
philsquared
cc0b093c20
unconditional windows proxy
2017-10-11 14:58:20 +01:00
Martin Hořeňovský
4899d891d3
Fix MSVC compilation when stringifying std::chrono::time_point
2017-10-09 13:13:30 +02:00
Martin Hořeňovský
79b405fd3f
Add stringification for std::chrono::{duration,time_point}
...
Also hides std::chrono, std::pair and std::chrono::* behind
new configuration macros, CATCH_CONFIG_ENABLE_*_STRINGMAKER
to avoid dragging in <utility>, <tuple> and <chrono> in common
path, unless requested.
2017-10-09 13:03:29 +02:00
Martin Hořeňovský
f972732737
Workaround for stitching issue in #1020
...
Closes #1020
2017-10-03 18:41:49 +02:00
Martin Hořeňovský
70e0d48978
Replace throw; with std::rethrow_exception(std::current_exception());
...
This works around a bug in libcxxrt handling of active exception count
that caused std::uncaught_exception() to return true even if there was
none.
Closes #1028
2017-09-28 12:53:09 +02:00
Phil Nash
5fe19f73e7
Scoped parseInfos population so i
can be reused
2017-09-26 16:06:48 -07:00
Phil Nash
c1416d55cb
Backed out dynamic stack array (use fixed size for now)
2017-09-26 15:55:34 -07:00
Phil Nash
2a1f8ae684
New version of Clara
2017-09-26 14:13:08 -07:00
Phil Nash
3d49d83128
Added benchmark support to MultiReporters
...
- otherwise benchmarks are not reported if multiple reporters (usually reporter + listener(s)) are used
2017-09-21 09:32:46 +01:00
Phil Nash
bd46f66754
dev build 4
2017-09-19 17:42:20 +01:00
Phil Nash
54f1ce2af2
Don't use console colour if running in XCode
2017-09-19 15:25:33 +01:00
Phil Nash
0a146e3af7
OCTest project now #includes all cpp files, so they all get __OBJC__ defined
2017-09-19 14:59:12 +01:00
Phil Nash
b9ff7ec301
Fixed issues for ObjC use (see #1011 )
2017-09-19 14:38:18 +01:00
Phil Nash
8da0d0473b
qualified a load of size_ts with std:: namespace (all those not from Clara)
2017-09-18 17:13:17 +01:00
Martin Hořeňovský
40209d1ae0
Use StringRef on fatal error path
...
So far the fatal error path only uses string literals, so this removes
an allocation from that context
2017-09-14 20:05:25 +02:00
Martin Hořeňovský
4e85267203
Add fatalErrorEncountered method to Reporter/Listener interface
...
An empty default implementation is provided to keep backward compatibility.
Called when signal or Structured Exception is encountered.
Related to #1005
2017-09-14 19:57:59 +02:00
Martin Hořeňovský
eaf850cd0c
Do not use SEH and console api under UWP
...
Fixes #1020
2017-09-11 21:09:35 +02:00
Dmitry Kozhevnikov
9c07718b5f
Update handling of __JETBRAINS_IDE__ macro
...
1. Use it to conditionally define CATCH_INTERNAL_CONFIG_COUNTER, not
CATCH_CONFIG_COUNTER, as __JETBRAINS_IDE__ is similar to
compiler-provided macros, not to user-provided ones.
2. Since __COUNTER__ will work starting with CLion 2017.3, use it
when possible (and hopefully remove this check altogether
at some point).
2017-09-07 18:00:04 +02:00
Martin Hořeňovský
9aa96712ae
Sweep out some extra warnings
...
Swept:
`-Wpadded` in some places (where it caused extra size, instead of just
saying "hey, we padded struct at the end to align, just as standard says")
`-Wweak-vtables` everywhere (Clang)
`-Wexit-time-destructors` everywhere (Clang)
`-Wmissing-noreturn` everywhere (Clang)
The last three are enabled for Clang compilation going forward.
Also enabled `-Wunreachable-code` for Clang and GCC
2017-09-07 17:25:15 +02:00
Phil Nash
03d41ce5b9
Suppressed meaningless function type qualifier warning in MSVC again
...
(this time in catch_tostring.h)
2017-09-07 11:25:10 +01:00
Phil Nash
c5608f0202
Changed all .hpp extensions to .h where there is now a corresponding .cpp
2017-09-07 11:24:33 +01:00
Phil Nash
8c39f9a725
Suppress MSVC warning about meaningless function type qualifier in generic code
2017-09-07 11:15:07 +01:00
Phil Nash
2d37649377
Fixed Objective-C mode
2017-09-06 15:44:42 +01:00
Martin Hořeňovský
8d03cb4915
Use StringRef to pass comparison operator name to BinaryExpr
...
Some nominally C++11 platforms do not have SSO (I am looking at
you libstdc++), where this avoids meaningless allocations.
2017-09-06 15:15:48 +02:00
Martin Hořeňovský
b000411434
Stop accepting non-const comparison operators
...
A) non-const comparison operators should not exist and should not be
encouraged
B) The logic breaks comparing function pointers certain way
C) It was inconsistent anyway, as it only applied to `==` and `!=`
Closes #925
2017-09-06 15:01:03 +02:00
Phil Nash
792d3d0a26
Fixed alignment of getSupportedVerbosities in MultipleReporters
2017-09-01 09:41:28 +01:00
offa
be067bce37
Explicit ctor used to fix compilation failures caused by copy
...
initialization.
2017-09-01 09:40:11 +01:00
Phil Nash
115db71bab
Incorporated Clara with TextFlow fix for assertion with consecutive newlines
...
fixes #1012
2017-08-31 16:14:27 +01:00
Martin Hořeňovský
e8ec6bd73c
General cleanup for C++11
...
Also less allocations and less stack usage on the fatal condition path
2017-08-31 11:46:37 +02:00
Martin Hořeňovský
e871742534
Move session to internal, split apart implementation
2017-08-31 10:31:52 +02:00
Martin Hořeňovský
6388fc946f
Remove last usage of NotImplementedException
...
TeamCity reporter now uses CATCH_ERROR instead
2017-08-30 20:03:54 +02:00
Martin Hořeňovský
a4df0b2c37
Remove obsoleted utility functions on matchers
...
Natural operators, &&, || and ! are preferred and do not have
limited arity.
2017-08-30 19:45:09 +02:00
Martin Hořeňovský
49a1408ff2
Fix compilation of main file with CATCH_CONFIG_FAST_COMPILE
2017-08-30 18:07:29 +02:00
Martin Hořeňovský
9796c516bb
Always compile matchers implementation
2017-08-30 18:06:48 +02:00
Martin Hořeňovský
255f7d7369
Minor cleanup
2017-08-30 15:53:39 +02:00
Martin Hořeňovský
0673b9be35
Split RNG related things into its own file
...
This further removes 2 function declarations from the common path
2017-08-30 15:32:44 +02:00
Martin Hořeňovský
48db47c737
Remove unused internal macro from the common path
2017-08-30 15:30:10 +02:00
Martin Hořeňovský
cde57d9365
Remove tag alias registry interface from the common path
2017-08-30 15:28:33 +02:00
Martin Hořeňovský
fc495ba0cb
Dev build 3
2017-08-30 12:20:21 +02:00
Martin Hořeňovský
61d2c375dd
Add evaluation specialization for T* and long
...
Fixes #1005
2017-08-30 12:11:41 +02:00
Martin Hořeňovský
dd8e79c529
Streamline includes in external interfaces
2017-08-29 16:44:02 +02:00
Martin Hořeňovský
4453fefb00
Remove check for compiler version before using __COUNTER__
...
All still supported compiler versions support __COUNTER__.
User can also still turn off use of __COUNTER__ by defining
CATCH_CONFIG_NO_COUNTER.
2017-08-29 15:45:58 +02:00
Martin Hořeňovský
6e46f29830
Remove empty compiler detection
...
If they are needed in the future, they can be reinstated, but there
is no point in keeping them around currently.
2017-08-29 15:40:19 +02:00
Martin Hořeňovský
92444d8b72
Remove catch_context.h from the common include path
2017-08-29 15:36:09 +02:00
Martin Hořeňovský
bcb430b837
Clean up various minor things
2017-08-29 14:02:14 +02:00
Martin Hořeňovský
5932576f53
Split writeToDebugConsole out of main path
2017-08-29 13:51:55 +02:00
Martin Hořeňovský
3b8b25c59d
Make REGISTER_TEST_CASE auto registering
...
This also means it can be used in global scope
2017-08-29 09:52:58 +02:00
Martin Hořeňovský
75f143835e
Prevent exception translator registration with CATCH_CONFIG_DISABLE
2017-08-29 09:52:25 +02:00
Martin Hořeňovský
05b6f03f3e
Disable reporter/listener registration with CATCH_CONFIG_DISABLE
2017-08-29 09:48:52 +02:00
Sam Bristow
a04bd6d436
Remove duplicate CLI option
...
The "use-colour" option was accidentally duplicated as part of commit
feaf355
(Implemented libidentify support).
2017-08-28 12:16:23 +02:00
Martin Hořeňovský
053c29a2b8
Add partial implementation of CATCH_CONFIG_DISABLE
...
* Assertions are defined into (void)(0) no-op
* SECTIONs are defined away (leaving {} as scope)
* TEST_CASEs and TEST_CASE_METHODs are not registered.
* REGISTER_TEST_CASE is defined into (void)(0) no-op
* METHOD_AS_TEST_CASE is defined away
2017-08-27 22:05:25 +02:00
Martin Hořeňovský
8f6d6a4a2d
Remove legacy [hide] tag
...
Also removed even legacier "./" prefix for test case name...
2017-08-27 16:45:53 +02:00
Martin Hořeňovský
e8d3be3621
Workaround raw string literal bug in VS2017
2017-08-27 12:38:59 +02:00
Martin Hořeňovský
7818e2666d
v1.10.0
2017-08-26 15:34:18 +02:00
Martin Hořeňovský
cd30dd1a70
Workaround raw string literal bug in VS2017
2017-08-26 15:14:27 +02:00
Phil Nash
8e8c0c1675
Tweaked how failedButOk assertions are recorded
...
- fixes issue where sections in !shouldfail or !mayfail test cases that have failing assertions where marked as failed instead of failedButOk
2017-08-25 11:37:49 +01:00
Phil Nash
b1d0085796
Tweaked how failedButOk assertions are recorded
...
- fixes issue where sections in !shouldfail or !mayfail test cases that have failing assertions where marked as failed instead of failedButOk
2017-08-25 11:33:40 +01:00
Phil Nash
b6e7c9bd7a
Specialise removeConst for nullptr
2017-08-24 23:07:44 +02:00
Phil Nash
180d9242f5
Suppress more signed/ unsigned mismatches during Evaluator calls on MSVC
2017-08-24 23:07:03 +02:00
Phil Nash
b7bd52cc98
Cherry-picked "evaluate" refactoring from dev-modernize branch
...
- fixed up NULL comparisons to allow for NULL being a long
- should address #981
2017-08-24 23:07:03 +02:00
Martin Hořeňovský
c03e8fce92
Explicitly ignore return value of getchar
...
This silences MSVC warning about ignored return value
2017-08-22 22:06:37 +02:00
Martin Hořeňovský
a7a9be59ff
Ignore return value of getchar when waiting for keypress
...
Previously this was causing warnings under MSVC for ignored return
value.
2017-08-22 22:00:52 +02:00
Martin Hořeňovský
cb2fceb119
Force include catch_platform.h before any if-defs
...
Closes #994
2017-08-21 14:58:50 +02:00
Martin Hořeňovský
489b639587
Change include guards in catch_external_interfaces.h
...
Previously they weren't recognized by the generateSingleHeader.py
script and weren't removed during stitching
2017-08-18 19:33:00 +02:00
Phil Nash
5d6c1f4dd0
Dev build 2
2017-08-18 15:58:00 +01:00
Phil Nash
3bc03cd617
Went back to Catch 1.x behaviour for -d
...
-d takes "yes" or "no", rather than being a standalone flag option. The default is "defaultForReporter" so the previous change actually dropped some control.
2017-08-18 15:53:10 +01:00
Martin Hořeňovský
24af32f378
Add define that pulls in reporter and listeners interfaces
...
This allows users to define reporters and listeners in files different
from the main file.
Related to #991 , #986
2017-08-17 20:23:30 +02:00
Phil Nash
0545de0a31
Hold translated exception in local string while matching
2017-08-17 19:21:00 +01:00
Martin Hořeňovský
597fca3c89
Remove <algorithm> header from the common path
...
It was only used for std::max<double> within Approx, so we now have
::Catch::Detail::max(double, double) that is used instead.
2017-08-17 20:04:53 +02:00
Martin Hořeňovský
f99f511155
Removed *_REGISTER_REPORTER from main path
...
Also simplified them to single macro: CATCH_REGISTER_REPORTER
2017-08-17 20:03:16 +02:00
Martin Hořeňovský
9a18ba042f
Remove deprecated listener registration macro
2017-08-17 20:03:16 +02:00
Martin Hořeňovský
8e6641c19b
Replace stdint.h include with cstdint include
...
Just small unification of includes
2017-08-17 20:03:16 +02:00
Phil Nash
aaedae60b4
Fixed issue with comparing non-copyable values
2017-08-17 16:46:05 +01:00
Phil Nash
8582780f11
Don't include string/ vector matchers if CATCH_CONFIG_MATCHERS defined
2017-08-16 14:38:04 +01:00
Phil Nash
a36395e2ff
Changed use of strncpy to memcpy
2017-08-15 23:47:52 +01:00
Phil Nash
699e571400
Documented benchmark-resolution-multiple command line option
...
- and increased default to 100
2017-08-15 19:51:22 +01:00
Phil Nash
61c5675c11
Removed inadvertent use of auto merged from dev-modernise
2017-08-15 19:34:10 +01:00
Phil Nash
a988af219c
No longer show full usage in event of error
...
(it obscures the error message)
- instead just suggests running with -? to see usage
2017-08-15 17:08:32 +01:00
Phil Nash
70e4af9d44
Implemented wait-for-keypress option
2017-08-15 14:12:11 +01:00
Phil Nash
917a51da6b
Added libidentify support, including option for waiting for keypress on exit (and/ or start)
2017-08-15 13:48:14 +01:00
Phil Nash
7be258536e
Suppress strncpy copy warnings on MSVC
2017-08-14 12:12:28 +01:00
Phil Nash
94d347b059
Removed StringData
2017-08-14 09:14:49 +01:00
Phil Nash
3772f69f0f
Removed String and StringBuilder
2017-08-14 09:04:14 +01:00
Phil Nash
ece64c3b3a
Removed redundant .c_str()s from StringRef usages
2017-08-14 08:54:57 +01:00
Phil Nash
fa3535e95e
Added << ostream overload to StringRef
2017-08-14 08:50:44 +01:00
Phil Nash
c659e0fd3d
StringRef conversions to/ from std::string
2017-08-14 08:39:14 +01:00
Phil Nash
1aab791d67
reformatted benchmark output a bit
2017-08-11 22:24:52 +01:00
Phil Nash
eed4ae86ad
Added config to control multiple of clock resolution to run benchmark iterations for
2017-08-11 22:24:52 +01:00
Phil Nash
7fa5d9ca94
Removed redundant processName argument from libIdentify call
2017-08-11 22:03:09 +01:00
Phil Nash
feaf355489
Implemented libidentify support
...
- see https://github.com/janwilmans/LibIdentify
2017-08-11 19:55:55 +01:00
Martin Hořeňovský
2ce6c74f8f
v1.9.7
2017-08-11 00:01:20 +02:00
Phil Nash
9688891868
Fix issue with fatal errors and non-failing assertions
...
Fixes #990
2017-08-10 21:44:54 +02:00
Phil Nash
684cbb2631
Fixes issue with fatal errors and non-failing assertions
...
Fixes #990
2017-08-10 17:10:13 +01:00
Phil Nash
97c06ca6fb
Merge branch 'reevaluate' into dev-modernize
2017-08-10 16:18:05 +01:00
Martin Hořeňovský
3382312bd8
Remove obsoleted SCOPED_MSG
and SCOPED_CAPTURE
...
Standard `MSG` and `CAPTURE` behave the same way these used to,
and are recommended instead.
2017-08-10 17:06:32 +02:00