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