with these changes you can now write the following tests:
std::exception_ptr ex;
CATCH_REQUIRE(ex == nullptr);
and
std::unique_ptr<int> ptr;
CATCH_REQUIRE(ptr.get() == nullptr);
The issue was that you cannot cast a std::nullptr_t to a non-const
reference.
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 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
Suppress
catch.hpp(1760) : warning C4512: 'Catch::TagExtracter' : assignment operator could not be generated
catch.hpp(1864) : warning C4512: 'Catch::TagExpressionParser' : assignment operator could not be generated
warnings given by MSVC 9 (and probably other version too) compiler with /W4 switch.
The warnings are given because the compiler can't synthesize the assignment
operators for the classes with members of reference type, so simply explicitly
declare (without defining) these operators ourselves to suppress them.
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