- moved as much logic out of the macros as possible
- moved most logic into new ResultBuilder class, which wraps ExpressionResultBuilder (may take it over next), subsumes ResultAction and also takes place of ExpressionDecomposer.
This introduces many SRP violations - but all in the name of minimising macro logic!
When the section tracking code was rewritten a while back to simplify and iron out some bugs the order of evaluation was changed so that each new section was skipped on the first run through.
This had unwelcome consequences for some people.
This commit restores the original semantics (while maintaining the simpler, less buggy, new code).
# By Alexander Manenko
# Via Alexander Manenko (1) and Phil Nash (1)
* 'master' of github.com:philsquared/Catch:
Fix build issue with TchRunnerMainView in XCode 5
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).
- updated command line setup with new API
- updated STITCH macros
- force embedded Clara to use Catch’s console width (but restore it after)
- remove command line tests (as these have now moved into the Clara project)
- This is just a first step. It still has a dependency on catch_text.h, which also needs to be made a Cliche header.
- These then need their own homes on GitHub.
- started integrating with reporters (now (optionally) supported in console reporter).
- introduced Node<> template to help with cumulative reporting and used it instead of ThreadedSectionInfo.
- also pass extra section to reporter - one for each test case - ignore it in headers
(this is so we know a test case has restarted)
- significant effect on regression test due to change of ordering of sections
- fixes infinite loop issue
- moved all internal stuff into Detail
- moved Parser out of CommandLine, encapsulates tokens.
- allow unused tokens to be feed into different CommandLine processors
includes:
- SFINAE version of IsStreamable (where available)
- new Text class that replaces LineWrapper (internal)
- fix for spurious double exception reporting (#164)
Always print test case + sections in header for every new section.
Group sections into single block
Tweaked BDD mappings to print out nicely with above
As well as some new tests these baselines were generated using > instead of -o, so includes messages sent to stdout and not visible in the directed output
commit 70c5ef9eed
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 13 21:46:01 2012 +0000
Regen single include
commit 4ea535e505
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 13 09:56:30 2012 +0000
Tidied up result enums
commit 7717c29072
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 13 09:45:29 2012 +0000
Implemented CHECK_NOFAIL
Previous commit missed some files
commit d539da9030
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 13 09:44:52 2012 +0000
Implemented CHECK_NO_FAIL
commit af1a321860
Author: Phil Nash <github@philnash.me>
Date: Sat Nov 10 18:46:39 2012 +0000
Regen single include
commit f54ac5625e
Author: Phil Nash <github@philnash.me>
Date: Sat Nov 10 18:44:12 2012 +0000
New (combined) baselines
commit defca58566
Author: Phil Nash <github@philnash.me>
Date: Sat Nov 10 18:43:23 2012 +0000
negate() -> endExpression(), takes ResultDisposition
commit b2ef998825
Author: Phil Nash <github@philnash.me>
Date: Sat Nov 10 10:35:09 2012 +0000
Changed shouldNegate boolean to use part of ResultDisposition enum
commit 1af13dba97
Author: Phil Nash <github@philnash.me>
Date: Sat Nov 10 10:20:08 2012 +0000
Changed StopOnFailure boolean to an enum
commit a1dc7e312c
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 6 19:34:35 2012 +0000
Regen single include
commit 20e59ce9d1
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 6 19:34:10 2012 +0000
Added tags docs
commit b5b1b1e430
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 6 19:13:25 2012 +0000
Some expression/ evaluation clean-up
commit ec5956f471
Author: Phil Nash <github@philnash.me>
Date: Tue Nov 6 07:52:28 2012 +0000
Fix for #134
The INTERNAL_CATCH_MSG macro, which is used by INFO, WARN and FAIL places its lines in a do…while block so it can be used after an if statement with no block
commit 88b70828f2
Author: Phil Nash <github@philnash.me>
Date: Sun Nov 4 21:39:38 2012 +0000
Regen single include
commit b323fc7e6c
Author: Phil Nash <github@philnash.me>
Date: Sun Nov 4 21:39:16 2012 +0000
Fixed line/no regression for SECTIONs
Unexpected exceptions within a section now get the SECTION's line no. again (instead of TEST_CASE line/no)
commit 78fba28c4b
Author: Phil Nash <github@philnash.me>
Date: Sun Nov 4 21:11:59 2012 +0000
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.
commit 81cb69ef18
Author: Phil Nash <github@philnash.me>
Date: Sun Nov 4 21:09:22 2012 +0000
AssertionInfo captures more info (for test cases and sections)
commit a4e088c999
Author: Phil Nash <github@philnash.me>
Date: Fri Nov 2 08:29:03 2012 +0000
Removed __FUNCTION__ from SourceLineInfo
commit 2a1e8bfc6e
Author: Phil Nash <github@philnash.me>
Date: Thu Nov 1 08:16:15 2012 +0000
Updated colour comments
commit f0f407fc3e
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 31 18:28:21 2012 +0000
Manually applied merge #133 from Master
commit 355b95fda1
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 31 18:04:22 2012 +0000
Cleaned up ANSI colour code impl a bit
commit 778f9c4fc7
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 30 09:09:30 2012 +0000
Removed "no-" from Wno-global-constructors when disabling
commit 5efa4bcb8a
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 20:49:22 2012 +0000
Regenerated single_include
commit 108f1937d8
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 20:46:45 2012 +0000
Added terminal colour codes for POSIX
With thanks to Adam Strzelecki
commit 8f4cc541d5
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 19:55:34 2012 +0000
Added regression test baselines
commit 2e203a1834
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 19:55:13 2012 +0000
Fixed remaining reporting regressions
commit 134e45b3ad
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 20:57:21 2012 +0000
Fixed#132
commit 2f92db9898
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 12:15:34 2012 +0000
Updated the readme specifically for the Integration branch
commit 82acc2ca05
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 12:07:17 2012 +0000
Regenerated single include
commit fe1d7c1d08
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 10:27:44 2012 +0000
Small fixes and tweaks
commit 355b5e546d
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 26 09:05:36 2012 +0100
Some tidy-up
commit f847186ebb
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 26 08:45:23 2012 +0100
AssertionResultBuilder -> ExpressionResultBuilder
commit 8cca2f1369
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 24 22:09:01 2012 +0100
ExpressionBuilder ->ExpressionDecomposer
Expression -> ExpressionLhs
commit e04e74f896
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 24 21:59:47 2012 +0100
More AssertionResult refactoring
commit 1dd56d4d2b
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 19 08:01:34 2012 +0100
AssertionResultBuilder can be constructed from result type
commit f2d5f1b3e4
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 19 08:01:05 2012 +0100
Expression has its own result builder - not passed in from expression builder
commit e3b111a39a
Author: Phil Nash <github@philnash.me>
Date: Thu Oct 18 22:59:16 2012 +0100
streamlined acceptResult
commit 3ad13256e1
Author: Phil Nash <github@philnash.me>
Date: Thu Oct 18 08:39:44 2012 +0100
Refactored assertion builder stuff out of expression builder
commit c96f9330a0
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 17 08:14:22 2012 +0100
Collect assertion info up front
commit a5fa78284d
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:33:13 2012 +0100
ResultData -> AssertionResultData
commit c597a893fa
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:31:05 2012 +0100
ResultInfo -> AssertionResult filenames and variables
commit d16955f63a
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:27:21 2012 +0100
Renamed ResultInfo -> AssertionResult
commit 175da3ef64
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 12 18:39:22 2012 +0100
regen test 3
The INTERNAL_CATCH_MSG macro, which is used by INFO, WARN and FAIL places its lines in a do…while block so it can be used after an if statement with no block
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.
commit 2a1e8bfc6e
Author: Phil Nash <github@philnash.me>
Date: Thu Nov 1 08:16:15 2012 +0000
Updated colour comments
commit f0f407fc3e
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 31 18:28:21 2012 +0000
Manually applied merge #133 from Master
commit 355b95fda1
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 31 18:04:22 2012 +0000
Cleaned up ANSI colour code impl a bit
commit 778f9c4fc7
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 30 09:09:30 2012 +0000
Removed "no-" from Wno-global-constructors when disabling
commit 5efa4bcb8a
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 20:49:22 2012 +0000
Regenerated single_include
commit 108f1937d8
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 20:46:45 2012 +0000
Added terminal colour codes for POSIX
With thanks to Adam Strzelecki
commit 8f4cc541d5
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 19:55:34 2012 +0000
Added regression test baselines
commit 2e203a1834
Author: Phil Nash <github@philnash.me>
Date: Mon Oct 29 19:55:13 2012 +0000
Fixed remaining reporting regressions
commit 134e45b3ad
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 20:57:21 2012 +0000
Fixed#132
commit 2f92db9898
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 12:15:34 2012 +0000
Updated the readme specifically for the Integration branch
commit 82acc2ca05
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 12:07:17 2012 +0000
Regenerated single include
commit fe1d7c1d08
Author: Phil Nash <github@philnash.me>
Date: Sun Oct 28 10:27:44 2012 +0000
Small fixes and tweaks
commit 355b5e546d
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 26 09:05:36 2012 +0100
Some tidy-up
commit f847186ebb
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 26 08:45:23 2012 +0100
AssertionResultBuilder -> ExpressionResultBuilder
commit 8cca2f1369
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 24 22:09:01 2012 +0100
ExpressionBuilder ->ExpressionDecomposer
Expression -> ExpressionLhs
commit e04e74f896
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 24 21:59:47 2012 +0100
More AssertionResult refactoring
commit 1dd56d4d2b
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 19 08:01:34 2012 +0100
AssertionResultBuilder can be constructed from result type
commit f2d5f1b3e4
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 19 08:01:05 2012 +0100
Expression has its own result builder - not passed in from expression builder
commit e3b111a39a
Author: Phil Nash <github@philnash.me>
Date: Thu Oct 18 22:59:16 2012 +0100
streamlined acceptResult
commit 3ad13256e1
Author: Phil Nash <github@philnash.me>
Date: Thu Oct 18 08:39:44 2012 +0100
Refactored assertion builder stuff out of expression builder
commit c96f9330a0
Author: Phil Nash <github@philnash.me>
Date: Wed Oct 17 08:14:22 2012 +0100
Collect assertion info up front
commit a5fa78284d
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:33:13 2012 +0100
ResultData -> AssertionResultData
commit c597a893fa
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:31:05 2012 +0100
ResultInfo -> AssertionResult filenames and variables
commit d16955f63a
Author: Phil Nash <github@philnash.me>
Date: Tue Oct 16 08:27:21 2012 +0100
Renamed ResultInfo -> AssertionResult
commit 175da3ef64
Author: Phil Nash <github@philnash.me>
Date: Fri Oct 12 18:39:22 2012 +0100
regen test 3
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