Commit Graph

307 Commits

Author SHA1 Message Date
Phil Nash
d539da9030 Implemented CHECK_NO_FAIL 2012-11-13 09:44:52 +00:00
Phil Nash
defca58566 negate() -> endExpression(), takes ResultDisposition 2012-11-10 18:43:23 +00:00
Phil Nash
b2ef998825 Changed shouldNegate boolean to use part of ResultDisposition enum 2012-11-10 10:35:09 +00:00
Phil Nash
1af13dba97 Changed StopOnFailure boolean to an enum 2012-11-10 10:20:08 +00:00
Phil Nash
20e59ce9d1 Added tags docs 2012-11-06 19:34:10 +00:00
Phil Nash
b5b1b1e430 Some expression/ evaluation clean-up 2012-11-06 19:13:25 +00:00
Phil Nash
ec5956f471 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
2012-11-06 07:52:28 +00:00
Phil Nash
b323fc7e6c 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)
2012-11-04 21:39:16 +00:00
Phil Nash
78fba28c4b 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.
2012-11-04 21:11:59 +00:00
Phil Nash
81cb69ef18 AssertionInfo captures more info (for test cases and sections) 2012-11-04 21:09:22 +00:00
Phil Nash
a4e088c999 Removed __FUNCTION__ from SourceLineInfo 2012-11-02 08:29:03 +00:00
Phil Nash
ce612bf656 Squashed commit of the following:
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
2012-11-01 08:27:09 +00:00
Phil Nash
2a1e8bfc6e Updated colour comments 2012-11-01 08:16:15 +00:00
Phil Nash
f0f407fc3e Manually applied merge #133 from Master 2012-10-31 18:28:21 +00:00
Vadim Zeitlin
b7f7054828 Fix harmless but annoying MSVC warnings.
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.
2012-10-31 19:17:31 +01:00
Phil Nash
355b95fda1 Cleaned up ANSI colour code impl a bit 2012-10-31 18:04:22 +00:00
Phil Nash
108f1937d8 Added terminal colour codes for POSIX
With thanks to Adam Strzelecki
2012-10-29 20:46:45 +00:00
Phil Nash
2e203a1834 Fixed remaining reporting regressions 2012-10-29 19:55:13 +00:00
Phil Nash
134e45b3ad Fixed #132 2012-10-28 20:57:21 +00:00
Phil Nash
fe1d7c1d08 Small fixes and tweaks 2012-10-28 10:27:44 +00:00
Phil Nash
355b5e546d Some tidy-up 2012-10-26 09:05:36 +01:00
Phil Nash
f847186ebb AssertionResultBuilder -> ExpressionResultBuilder 2012-10-26 08:45:23 +01:00
Phil Nash
8cca2f1369 ExpressionBuilder ->ExpressionDecomposer
Expression -> ExpressionLhs
2012-10-24 22:09:01 +01:00
Phil Nash
e04e74f896 More AssertionResult refactoring 2012-10-24 21:59:47 +01:00
Phil Nash
1dd56d4d2b AssertionResultBuilder can be constructed from result type 2012-10-19 08:01:34 +01:00
Phil Nash
f2d5f1b3e4 Expression has its own result builder - not passed in from expression builder 2012-10-19 08:01:05 +01:00
Phil Nash
e3b111a39a streamlined acceptResult 2012-10-18 22:59:16 +01:00
Phil Nash
3ad13256e1 Refactored assertion builder stuff out of expression builder 2012-10-18 08:39:44 +01:00
Phil Nash
c96f9330a0 Collect assertion info up front 2012-10-17 08:14:22 +01:00
Phil Nash
a5fa78284d ResultData -> AssertionResultData 2012-10-16 08:33:13 +01:00
Phil Nash
c597a893fa ResultInfo -> AssertionResult filenames and variables 2012-10-16 08:31:05 +01:00
Phil Nash
d16955f63a Renamed ResultInfo -> AssertionResult 2012-10-16 08:27:21 +01:00
Phil Nash
9444bbcb7b Added AllOf and AnyOf matchers 2012-10-12 07:58:17 +01:00
Phil Nash
9902ac9f1a Cleaned up ResultInfoBuilder a bit 2012-10-09 20:58:33 +01:00
Phil Nash
71edf8b727 isNot -> isFalse 2012-10-09 11:59:11 +01:00
Phil Nash
6730512afa Refactoring ResultData out of ResultInfo/ Builder pt2 2012-10-09 11:48:55 +01:00
Phil Nash
86e1915099 Refactoring ResultData out of ResultInfo/ Builder pt1 2012-10-05 18:35:01 +01:00
Phil Nash
36d0da0194 Started refactoring ResultInfo/Builder 2012-10-04 08:09:09 +01:00
Phil Nash
4104fb735e Random bits of clean-up 2012-10-03 18:12:57 +01:00
Phil Nash
e82b564c3a Merge branch 'master' of github.com:philsquared/Catch 2012-09-29 20:35:14 +01:00
Phil Nash
4b93fb81b5 Added some surrogate cpps
(and fixed up missing includes they uncovered)
2012-09-28 19:21:14 +01:00
Matt Wozniski
07e20aa706 Merge remote-tracking branch 'phil' into include-guard-fixes
Conflicts:
	single_include/catch.hpp
2012-09-26 21:42:44 -04:00
Phil Nash
67ec8709ea First cut of command line support for tags 2012-09-26 18:38:26 +01:00
Phil Nash
c4160e9ef8 Fixed alternate stream bugs 2012-09-26 18:36:58 +01:00
Phil Nash
60fb60f5e0 Updated help help 2012-09-25 07:43:37 +01:00
Phil Nash
ec2fccf6b8 Fixed SCOPED_INFO (#123) 2012-09-24 08:28:23 +01:00
Phil Nash
85c0e3d42b Tag command line parsing implementation 2012-09-21 07:48:03 +01:00
Phil Nash
9d8570ff80 Removed spurious files 2012-09-20 08:20:06 +01:00
Phil Nash
61964881c7 Added copy ctor to ReporterConfig to get rid of warnings 2012-09-20 08:17:52 +01:00
Matt Wozniski
f29c898443 Normalize include guards for all *.h and *.hpp
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
2012-09-17 01:53:39 -04:00
Phil Nash
fc1baac7f5 First cut of tags support 2012-09-15 17:53:27 +01:00
Phil Nash
dea756f699 Capture test case hidden status in member variable 2012-09-12 18:40:24 +01:00
Phil Nash
f7418eb2dd Completed embedded docs 2012-09-09 11:44:30 +01:00
Phil Nash
e2d215e9c0 Added internal documentation for some options 2012-09-07 17:52:35 +01:00
Phil Nash
c682a163b1 Restored quick way to add test programatically 2012-09-07 17:52:15 +01:00
Phil Nash
deb3ced619 Ptr op= takes const ref (fixes: #115) 2012-08-31 18:50:46 +01:00
Phil Nash
a70fbe3c1a Completed NoAssertions warning implementation 2012-08-31 08:10:36 +01:00
Phil Nash
55764c8d47 Added warnings - first one: no assertions 2012-08-28 08:20:18 +01:00
Phil Nash
78c92e68aa Got rid of some warnings 2012-08-27 21:48:15 +01:00
Phil Nash
ecf934b045 Option objects now enforce min/ max args generically 2012-08-27 21:42:55 +01:00
Phil Nash
e7db40034c Generate help from options objects 2012-08-27 12:19:07 +01:00
Phil Nash
eb775aa7af Refactored command line parsers into polymorphic classes 2012-08-25 21:26:05 +01:00
Phil Nash
95ae50ad3d Test for ~ and removed debug print 2012-08-24 19:01:35 +01:00
Phil Nash
f82861fb0a Changed shorthand for exclude: to ~ 2012-08-24 18:57:49 +01:00
Phil Nash
e571e6f4a0 Can specify tests without -t. ex: is shorthand for exclude: 2012-08-24 18:54:56 +01:00
Phil Nash
4c97fc5619 WIldcards at both ends 2012-08-24 08:23:50 +01:00
Phil Nash
56d5c42912 First cut of new filtering mechanism 2012-08-23 20:08:50 +01:00
Phil Nash
c2675b5d49 Added copy actor and operator = back to TestCaseInfo 2012-08-23 08:38:27 +01:00
Phil Nash
cda21492a8 Conditionally compile clang pragmas 2012-08-16 18:47:41 +01:00
Phil Nash
c1dbc9c22b Separated getting test cases to run from running them 2012-08-15 19:12:51 +01:00
Phil Nash
d0a5461add Moved TestSpec into its own file 2012-08-14 19:35:30 +01:00
Phil Nash
ddfe963623 Split imll from TestCaseInfo 2012-08-14 19:30:30 +01:00
Phil Nash
9c6ce97f01 Made ITestCase a shared object 2012-08-14 08:38:22 +01:00
Phil Nash
a67d833091 More things using ConfigData 2012-08-13 19:27:03 +01:00
Phil Nash
a695eb9006 Builds almost completely cleanly with -WEverything in LLVM 2012-08-13 07:46:10 +01:00
Phil Nash
3b80af7a06 Recreated the single include test project and got it working after impl refactorings 2012-08-09 07:47:30 +01:00
Phil Nash
c436a4dac1 Separated resultinfo_builder from impl 2012-08-08 08:58:28 +01:00
Phil Nash
ffe986d4ee Split result info from impl 2012-08-08 08:50:38 +01:00
Phil Nash
fb386f458d Moved context object entirely into impl file 2012-08-08 08:33:54 +01:00
Phil Nash
0477465f8d Refactored Impls 2012-08-07 08:18:48 +01:00
Phil Nash
58a26da31e Refactored impls 2012-08-07 08:18:33 +01:00
Phil Nash
da0ae952fc Renamed static registries -> registry hub 2012-08-07 07:58:34 +01:00
Phil Nash
1091ca81e6 First cut of StaticRegistries - separate from Context 2012-08-06 20:16:53 +01:00
Phil Nash
5234b15ff4 Fixed quote balancing issue in reporter error 2012-08-06 08:33:15 +01:00
Phil Nash
0dc9e43c02 Fixed toString for NSString* in Xcode 4.4 2012-08-01 08:17:07 +01:00
Phil Nash
61756974d0 Catches incorrect reporter name as per #107 2012-07-28 20:37:07 +01:00
Phil Nash
b084562b3b Improved error handling for --abort as per #108 2012-07-28 20:22:40 +01:00
Phil Nash
d2553cdc64 Made ReportConfig a value type 2012-07-20 19:07:42 +01:00
Phil Nash
46bcd4b2b7 Added ability to specify if macros should be prefixed with CATCH_ 2012-07-20 18:43:48 +01:00
Phil Nash
5d73c5a008 Resolve reporter outside of Config
config now only only holds reporter name
2012-07-17 08:04:19 +01:00
Phil Nash
8fbd8e0f9e Moved use of reporter into runner (our of Main, directly) 2012-07-16 08:58:28 +01:00
Phil Nash
02006d85d7 Disabled use of __FUNCTION__ for now 2012-07-05 23:12:22 +01:00
Phil Nash
abf271672f Added NotImplementedException 2012-07-05 18:37:58 +01:00
Phil Nash
4c73aa5a0e Factored ConfigData out of data 2012-06-08 08:22:56 +01:00
Phil Nash
78372d09d4 Added toString overload for chars
(and, by extension, Obj-C's BOOL)
2012-06-06 08:06:40 +01:00
Phil Nash
46a3476731 Added nothrow command line option
Causes _THROWS family of macros to no evaluate expression
2012-06-05 20:50:47 +01:00
Phil Nash
f3dd0938ff Changed a remaining Hub to Context 2012-06-05 10:13:52 +01:00
Phil Nash
535edcb73b changed remaining cmd line checks to cmd.raiseError 2012-06-03 19:03:17 +01:00
Phil Nash
8d02b9306d Changed --cutoff to --abort 2012-06-02 23:26:32 +01:00
Phil Nash
6d1c11381e Fixed some signed/ unsigned warnings 2012-06-02 23:08:07 +01:00
Phil Nash
19b2aa6187 Added cutoff option to command line
Aborts testing after a certain number of assertion failures
2012-06-01 19:40:27 +01:00
Phil Nash
163088a11f Refactored command line parser to be more cohesive
Also added a set of unit tests for them (incomplete)
2012-05-31 19:40:26 +01:00
Phil Nash
06e959be3e Fixed used of cleaned-up context by runner's destructor
This was causing a segfault for some
2012-05-25 08:52:05 +01:00
Phil Nash
eb22e212c0 Merge pull request #88 from klmr/master
Warning "unused parameter" silenced
2012-05-25 00:47:22 -07:00
Phil Nash
2ffb372290 Added evaluator overloads for case when comparing pointers against NULLs that decay to ints 2012-05-24 18:41:14 +01:00
Phil Nash
7035b55832 Matchers macro uses Catch::Matchers namespace internally - so it doesn't have to be declared with "using" first 2012-05-24 08:29:03 +01:00
Phil Nash
1c98fc98ef Added Equals matcher for strings 2012-05-24 08:27:50 +01:00
Phil Nash
be838671ab Removed special handling for pointer comparisons
These all seem to be handled by the general case now
2012-05-24 08:27:09 +01:00
Konrad Rudolph
84434be949 Silence "unused parameter" warning. 2012-05-23 11:22:49 +01:00
Phil Nash
1787da54a7 Reinstated #include that broke single include 2012-05-22 22:21:17 +01:00
Phil Nash
ab4b36862d Added a delta method to Totals that tracks new passed/ failures
This fixes issue with test group results
2012-05-22 08:56:11 +01:00
Phil Nash
9fa9d4279c Removed "singleton" method from context
There is now a global "currentContext" - but Context itself is not aware of it
2012-05-22 08:55:19 +01:00
Phil Nash
61319a9bc1 Merge branch 'master' of github.com:philsquared/Catch 2012-05-21 21:52:00 +01:00
Phil Nash
35b31fa78a Added support for Objective-C exceptions 2012-05-21 21:51:16 +01:00
Phil Nash
371db8b42f Context methods are non-static - accessed via interface
This is a move towards allowing multiple contexts - with the concept of a (possibly thread local) "current" context
2012-05-21 18:52:09 +01:00
Graham Lee
8cfe821e2b Fix a "comparison between signed and unsigned" problem. 2012-05-21 18:11:55 +02:00
Phil Nash
44fbbb07f0 Final reformatting 2012-05-16 15:07:11 +01:00
Phil Nash
0afa09f7c1 Reformatting 2012-05-16 14:53:59 +01:00
Phil Nash
6cd2ac7544 More reformatting 2012-05-16 08:02:20 +01:00
Phil Nash
c67a7eef2b Moar reformatting 2012-05-15 23:58:23 +01:00
Phil Nash
d0be9ed5d9 More reformatting 2012-05-15 08:02:36 +01:00
Phil Nash
2efc1146bf Reformatting 2012-05-15 07:42:26 +01:00
Phil Nash
6acb36a996 Renamed ResultBuilder -> ExpressionBuilder 2012-05-11 19:22:28 +01:00
Phil Nash
7a0cadc342 Moved ResultBuilder out into its own file 2012-05-11 19:15:54 +01:00
Phil Nash
8d69208a58 Fixed some warnings
As referenced in GitHub issue #83
2012-05-11 19:05:53 +01:00
Phil Nash
15140eacd7 Fixed missing #include
From GitHub issue #77
2012-05-11 18:55:19 +01:00
Phil Nash
e92dd85825 include exception registry interfaces 2012-05-11 08:16:39 +01:00
Phil Nash
c9ba82b503 Reformatted expression 2012-05-11 08:16:12 +01:00
Phil Nash
a6855f7eab Move expression classes into own file 2012-05-11 08:03:05 +01:00
Phil Nash
d10d2d3485 More reformatting 2012-05-10 21:46:46 +01:00
Phil Nash
d53573c95a Merge pull request #81 from colonelsammy/master
Changes for MINGW32 debugger as requested
2012-05-10 13:44:55 -07:00
Malcolm Noyes
9e17c807bc Add support for MINGW32 debugger 2012-05-10 21:29:50 +01:00
Phil Nash
d1beb539e8 Refactored main() a bit 2012-05-10 08:17:06 +01:00
Phil Nash
b84444c501 Obj-C updates 2012-05-10 08:16:30 +01:00
Phil Nash
5ec53b2788 renamed hub -> context
(also did some reformatting)
2012-05-10 07:58:48 +01:00
Phil Nash
e0dd4a5469 Sanitised some comments 2012-05-09 19:37:14 +01:00
Phil Nash
f8e1c1ec45 Change the names of the generated functions to aid debugging 2012-05-09 18:59:26 +01:00
Phil Nash
d06dcedfdc Some more reformatting.
Also fixed some warnings
2012-05-09 08:17:51 +01:00
Phil Nash
e83f839741 Renamed MutableResultInfo to ResultInfoBuilder 2012-05-08 19:32:18 +01:00
Phil Nash
b5d367206b Factored MutableResultInfo into its own file 2012-05-08 19:29:51 +01:00
Phil Nash
5d1c8f2c6d Replaced all file/ line pairings with SourceLineInfo 2012-05-08 19:16:18 +01:00
Phil Nash
81a122e66a Factored toString overloads into their own file 2012-05-08 08:10:49 +01:00
Phil Nash
40b161adea Some reformating 2012-05-08 07:59:54 +01:00
Phil Nash
e1cb8f25f2 Fix for comparing (const) char* to NULL 2012-05-07 19:45:55 +01:00
Phil Nash
a201f715a8 Split long failure expressions over multiple lines at the operator 2012-05-07 19:12:43 +01:00
Phil Nash
49e6d536e1 Clean-up and regenerated single include 2012-05-05 19:35:35 +01:00
Phil Nash
a976c07b8d Fixed section ordering issue
If a branch section completes without running any inner sections it will no run subsequent sections (until the next isolated run).
2012-05-05 19:32:52 +01:00
Phil Nash
b213202ad7 Added self-test for section ordering
Added MockReporter for tracking test runs.
Added intrusive smart pointer. Config holds reporter by smart pointer, so we can route the mock reporter through multiple test runs
2012-05-04 07:55:11 +01:00
Phil Nash
83a66a6255 Removed redundant const
(also fixed test counts)
2012-04-28 12:39:15 +01:00
Phil Nash
861a1e79cf Conditionally compile __unsafe_unretained
Addresses, and hopefully fixes, issue #77.
2012-04-28 12:29:52 +01:00