Commit Graph

100 Commits

Author SHA1 Message Date
Phil Nash 383d7c06a1 Only use std::cout/ cert via Catch::cout/ cert - and make those conditional on CATCH_CONFIG_NOSTDOUT 2014-10-02 19:08:19 +01:00
Phil Nash b1936d3b0e Calls method of FatalConditionHandler (to avoid warnings) 2014-10-02 18:28:45 +01:00
Phil Nash 05743eeaa1 FatalErrorConditions now full close reporter states
- so the console reporter(s) show final summary and the xml reporters close their tags
2014-08-22 19:33:28 +01:00
Phil Nash c1a8e1c5dd Added signal handlers (and placeholder for SEH handlers)
- based on PR 232 (https://github.com/philsquared/Catch/pull/232 - thanks Lukasz Forynski)
- Writes to reporter, so gets all the usual context, but then exits directly (since the stack cannot be resumed) so no summary
- On Windows does nothing, as yet.
2014-08-22 08:07:39 +01:00
Phil Nash 23181eeef0 Section no longer relies on copy-elision for correctness
- should address #293
- *may* address #271
2014-07-09 07:39:57 +01:00
Phil Nash 9c1f9a8f9a Added [!mayfail] tag to indicate test case that can fail without failing the suite.
Overhauled the summary report (including the expected failure count)
2014-07-03 08:09:57 +01:00
Phil Nash 9438a03d5b Big assertion capture refactoring.
- 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!
2014-05-28 18:53:01 +01:00
Phil Nash 5daa22dcc3 Fixed dereferenced null issue 2014-05-20 18:49:28 +01:00
Phil Nash b1e7d161b5 Moved catch_test_spec.h to catch_test_spec.hpp 2014-05-16 18:28:58 +01:00
Phil Nash a020865990 Sections are, once again, eagerly entered.
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).
2014-04-21 19:02:38 +01:00
Phil Nash 20cad7cb1d Tags beginning with a non alpha-numeric character are now disallowed.
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).
2014-04-15 18:44:37 +01:00
Phil Nash 6339254cb2 First cut of Timer class.
- started integrating with reporters (now (optionally) supported in console reporter).
- introduced Node<> template to help with cumulative reporting and used it instead of ThreadedSectionInfo.
2013-08-07 18:56:35 +01:00
Phil Nash 649f8c24b1 Removed now redundant handling for missing assertions in test cases
- handled as part of sections
2013-07-26 19:28:34 +01:00
Phil Nash e8cf726a23 Refactored missing assertions handling 2013-07-26 19:26:08 +01:00
Phil Nash b80280f428 Tidied up reporting of missing assertions in test cases
- also removed basic reporter from approval test
2013-07-26 19:19:44 +01:00
Phil Nash 28d3881ff9 Merged TestCaseTracker and SectionTracker and introduced TestCaseTracker::Guard 2013-07-25 08:07:55 +01:00
Phil Nash ee647f5099 Removed displaced RunningTest class 2013-07-25 07:49:00 +01:00
Phil Nash 9aff9aa328 Integrated new section tracker.
- 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
2013-07-24 19:13:08 +01:00
Phil Nash 372a6c6fed Small fixes and started new section tracking code 2013-07-23 08:15:34 +01:00
Phil Nash f3d1f08c3b Removed all trailing whitespace
- addresses #105
2013-07-03 19:14:59 +01:00
Phil Nash b5fd5a6496 INFO and CAPTURE are now scoped
- SCOPED_INFO and SCOPED_CAPTURE are now just aliases
2013-06-28 17:09:57 +01:00
Phil Nash 0d357302a0 INFOs only reset at assertion if consumed 2013-06-28 16:25:49 +01:00
Phil Nash cb60d130f8 Runner -> RunContext, Runner2 -> Runner and fixed issue with processName 2013-06-05 08:18:52 +01:00
Phil Nash ca9b92f8fa Most of system now uses Ptr<IConfig const> 2013-05-28 18:51:53 +01:00
Phil Nash e1459955f1 Refactoring towards interface based config 2013-05-28 18:39:32 +01:00
Phil Nash 2a9d8d9e36 Changed "const X ref"s to "X const ref"s
- Brought older code up to current convention (with the help of a Python script)
2013-04-23 18:58:56 +01:00
Phil Nash 767f1588dc Added StringMaker (for partially specialising string conversions), extended BDD macros and moved file/line info to top of message.
Re-enable ANSI colour by default - hopefully properly excluding Windows this time
2013-03-04 12:19:15 +01:00
Phil Nash 10ed1e0e34 Handle section ends in the event of unexpected exceptions 2013-02-19 19:45:09 +00:00
Phil Nash d768b1b7f9 Fixed sticky INFO (which persisted across TEST_CASEs) from #152 and generated build 18 2013-02-04 00:05:16 +00:00
Phil Nash ad654867f1 Removed deprecated message code 2013-02-02 20:36:36 +00:00
Phil Nash 207b27b3c5 Changed the way info messages are handled.
This fixes issue with SCOPED_INFO and makes output more readable.
Needs some refactoring.
2013-02-02 19:58:04 +00:00
Phil Nash 42aef1d99c Fairly major reworking of console reporter (still in progress).
Changed reporter interface a bit.
2013-01-13 21:51:44 +00:00
Phil Nash bcf722eb81 Reporter interface uses value types instead of shared ptrs again 2013-01-03 09:04:46 +00:00
Phil Nash e3e9e075b9 Capture RunInfo 2012-12-01 23:54:17 +00:00
Phil Nash 2632dca81d Completed IStreamingInterface abstraction with TestRunInfo and GroupInfo 2012-12-01 23:49:57 +00:00
Phil Nash 4e12e12c1f Streaming reporter interface is now used natively.
Legacy reporters are adapted by their factories.
2012-11-30 19:15:23 +00:00
Phil Nash 7f04b56738 Reporter "stats" objects passed in by Ptr 2012-11-30 18:54:06 +00:00
Phil Nash f4774d9642 Reference to legacy reporter adapter localised to one place 2012-11-30 09:13:27 +00:00
Phil Nash ad6701d222 SectionInfo now goes via new streaming reporter interface 2012-11-30 08:58:46 +00:00
Phil Nash c4ba6757d9 Added ReporterPreferences and started some SectionInfo refactoring 2012-11-29 09:05:51 +00:00
Phil Nash 4b36001698 Tightened up ReporterConfig and added it to LegacyReporterAdapter 2012-11-26 23:28:00 +00:00
Phil Nash f9d92634f5 First cut of using new streaming reporter interface - using an adapter to map back to the legacy interface
Doesn't do sections or the query functions (e.g. shouldRedirectStdOut)
2012-11-25 21:43:36 +00:00
Phil Nash 8baa06c63e Split TestCaseInfo into a data only component and the test case function and behaviour.
Reporters only get to see the former
2012-11-25 11:19:55 +00:00
Phil Nash 06a671a349 Renamed TestCaseInfo -> TestCase 2012-11-22 19:17:20 +00:00
Phil Nash deb3e9d4c4 Fixed SUCCEED so it logs message in basic reporter
Reverted previous change so that tests with no assertions but INFO macros now warn again (but an explicit SUCCEED does not)
2012-11-21 08:49:20 +00:00
Phil Nash 5d248c98bf Moved code that detects absence of assertions closer to where end of test case is reported (ready for merging).
Also now considers info macros when warning (i.e. an empty test case with an INFO() will not warn).
2012-11-21 08:19:23 +00:00
Phil Nash d0cc33f284 Unchecked exceptions don't report previous assertions message (only its line number) 2012-11-17 17:22:37 +00:00
Phil Nash d539da9030 Implemented CHECK_NO_FAIL 2012-11-13 09:44:52 +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 81cb69ef18 AssertionInfo captures more info (for test cases and sections) 2012-11-04 21:09:22 +00:00