Commit Graph

367 Commits

Author SHA1 Message Date
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
Jardel Weyrich
11dca66336 Fix missing parameter for comparisons between long and unsigned X. 2012-04-27 14:42:40 -03:00
Phil Nash
53c990a7e1 ARC support for Object-C projects 2012-03-17 18:20:06 +00:00
Phil Nash
db837a157f Added Equals matcher for NSString 2012-03-14 20:04:50 +00:00
Phil Nash
966f5dbff2 Added initial built-in matchers for NSString (ObjC) 2012-03-04 21:18:46 +00:00
Phil Nash
a6a40b3ba9 Added a handful of "built-in" matchers 2012-03-04 20:10:36 +00:00
Phil Nash
eca5637c58 First cut of Matcher support 2012-03-04 11:14:21 +00:00
Phil Nash
5ff4ab0a76 Suppress warning about constant conditional 2012-02-29 08:47:18 +00:00
Phil Nash
f52bd35e2f made CHECK/ REQUIRE into block statements
Placed the contents of the macros into do{…}while(0) so they can be used as statements (e.g. after an if() with no braces).
Also means they now require the closing ;
2012-02-29 08:35:41 +00:00
Phil Nash
af8d0b3955 Fixed trim() for single char strings (github #75) 2012-02-28 20:04:25 +00:00
Phil Nash
97668c76f1 Merge branch 'master' of github.com:philsquared/Catch 2012-02-28 08:38:17 +00:00
Phil Nash
17cd7f1cca Merge pull request #68 from crown-hill/master
Fix CATCH Issue #61, Assembler Error on iOS/ARM
2012-02-28 00:36:30 -08:00
Phil Nash
e1f1c6ca7e Fixed iOS test runner after reporter changes 2012-02-27 19:03:54 +00:00
Phil Nash
20df8c5da1 Added colorised console output for Windows
Also tweaks the output again
2012-02-25 20:36:22 +00:00
Phil Nash
5e5698b792 Test Case counts reported separately from assertions
Test case passed/ failures are counted as well as individual assertions. The basic reporter now reports them seperately
2012-02-25 09:39:13 +00:00
Phil Nash
edd8f02bec Pass totals around instead of individual success/ fail counts 2012-02-24 08:59:35 +00:00
Phil Nash
9bbaeba3ae Refactored internal interfaces to use Totals instead of success/ fail 2012-02-23 18:51:21 +00:00
Phil Nash
8d93949b19 Used Counts class in IResultCapture interface 2012-02-23 08:57:51 +00:00
Phil Nash
5ddf794fbc Added Totals class and started using it 2012-02-23 08:49:52 +00:00
Phil Nash
0dd3c57221 Fix for GitHub issue #71
Fixed memory leak in exception translator registry
2012-02-18 19:14:09 +00:00
Phil Nash
dd5b9c2ae5 Added clean-up
Clean-up statics at the end of main to avoid added noise when looking for leaks
2012-02-18 09:58:30 +00:00
Phil Nash
333e6e6254 Improved exception reporting
Refactored exception handling (handle more in the translator)
and report exceptions in CHECKs
2012-02-17 19:50:59 +00:00
Phil Nash
a57b025c9c Don't redirect stout for basic reporter 2012-02-17 09:28:21 +00:00
Phil Nash
7b449f7abe Ability to register line# for testing
Factored file/ line storage and formatting into common class.
Used in a static registry so failure messages can be asserted to have the file/ line in.
2012-02-15 08:20:06 +00:00
Phil Nash
0b09d1c089 Fixed GitHub Issue #70
Interleave XML entities are now encoded correctly
2012-02-10 18:58:06 +00:00
Phil Nash
a162e22fa3 Added CHECKED_IF and CHECKED_ELSE 2012-02-10 08:30:13 +00:00
Phil Nash
6abf702895 OC project for Xcode 4 2012-02-10 08:28:37 +00:00
Phil Nash
3fd7dc0218 Prevent duplicate test names from being registered
If a test case with the same name as an already registered test case is registered an error is logged to cerr and the program exits (with error level 1)
2012-02-09 08:34:01 +00:00
herringbanger@gmail.com
aa648bd690 Fix linker error in catch_debugger.hpp on iOS on ARM that occurs trying to use assembly for Intel because CATCH_PLATFORM_MAC is defined.
Define CATCH_PLATFORM_MAC using #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) instead of #if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__).

Add new CATCH_PLATFORM_IPHONE defined using #elif  defined(__IPHONE_OS_VERSION_MIN_REQUIRED) for future use. The BreakIntoDebugger and isDebuggerActive functions remain without implementations for iOS.
2012-01-14 11:12:58 -08:00
Phil Nash
d207cecade Fix for GitHub issue #56
TEST_CASE_METHOD's put the generated class into the anonymous namespace
2011-12-28 19:55:11 +00:00
Phil Nash
7c94aef660 Fix for GitHub Issue #66
SECTIONs distinguished by name as well as file/ line
2011-12-28 10:33:54 +00:00
Phil Nash
b13ad46532 stdout retained for all sections
Fixed issue where stdout was dropped between sections
2011-12-28 10:23:32 +00:00
Phil Nash
458e5eec16 Xcode 4, warnings and MinGW
Added separate Xcode 4 project.
Fixed some warnings.
Fixed OutputDebugString decl for MinGW
2011-12-27 10:59:41 +00:00
Phil Nash
f7e2777665 Github issue #51
Fixed &quot; entity referece
2011-09-30 08:04:54 +01:00
Phil Nash
4094e7fe3d Merge branch 'master' of github.com:philsquared/Catch 2011-09-29 18:42:32 +01:00
Phil Nash
a713ce0264 Simplified streamable detection 2011-09-29 09:01:59 +01:00
Phil Nash
0afab69c7d Supress more warnings 2011-09-29 08:58:40 +01:00
Wichert Akkerman
6d18d4b189 Fix compiler warnings
Fix base classes without virtual destructors and missing initialisors.
2011-09-23 10:03:52 +02:00
Phil Nash
08a1b51987 Hold values by value and references by reference 2011-09-19 18:19:13 +01:00
Phil Nash
4d0a8d96e6 Fixed issue with evaluating static bools 2011-08-09 08:18:27 +01:00
Phil Nash
3723b527f5 Some fixes for string literals on LHS 2011-07-15 08:07:44 +01:00
Phil Nash
7cfe6eb078 Only use __debugbreak from MSVC (rather than any compiler on Windows) 2011-07-04 09:09:03 +01:00
Phil Nash
1adebefb50 Fixed tests with string literal on lhs 2011-06-29 19:22:56 +01:00
Phil Nash
eb2964e4ae Disambiguated some locally scoped names 2011-06-23 08:13:25 +01:00
Phil Nash
d258e49f7c (Hopefully) fixed infinite loop in sections (GitHub #39). 2011-06-21 08:43:48 +01:00
Phil Nash
2fa72a47cd Added ability to build custom Approx instance 2011-06-06 08:21:21 +01:00
Phil Nash
cae44d8ace Made Approx a little more forgiving (to 100& epsilon of float) and added some more tests for it 2011-06-03 18:56:47 +01:00
Phil Nash
48112c2700 Fixed a potential ordering issue with output streambufs 2011-05-31 18:47:30 +01:00
Phil Nash
6b6143ccd4 Removed templates from Approx (just uses double) 2011-05-31 07:51:04 +01:00
Phil Nash
89d1e6c4f1 Tweaks to allow headers to be glued together.
Added Python script to generate single header.
Added new XCode project that runs self test against single header
2011-05-24 08:23:02 +01:00
Phil Nash
4b24490e1a Fixed Github Issue #32: "ResultBuilder& operator << should use toString" 2011-05-11 10:06:28 +01:00
Phil Nash
0ea29b7d28 Started adding tests for Approx 2011-04-28 08:28:03 +01:00
Phil Nash
dfea75fc05 Allow epsilon and scale to be specified 2011-04-28 08:20:47 +01:00
Phil Nash
d7b8b01f3e Updated to use Richard Harris' approximation formula 2011-04-28 08:11:00 +01:00
Phil Nash
d7c203c3e9 Factored Approx out into own file 2011-04-28 08:03:28 +01:00
Phil Nash
95419e935c Merges objc top level headers into main headers (using #ifdef __OBJC__) 2011-04-26 19:00:25 +01:00
Phil Nash
38edb9fa95 Removed bool warning 2011-04-26 08:35:52 +01:00
Phil Nash
823ea3efd4 Re-org 2011-04-26 08:32:40 +01:00