Commit Graph

296 Commits

Author SHA1 Message Date
dvirtz
9a07dde16d print messages when unexpected exceptions are thrown 2017-04-04 11:27:19 +02:00
Kevin Ushey
e04dc5105b use inline 'libraryVersion()' function (closes #858) 2017-03-22 15:51:02 +01:00
Martin Hořeňovský
613e1466f9 Save errno before using sprintf, ifstream.
std::ifstream in libstdc++ contains a bug, where it sets errno to zero.
To work around it, we manually save the errno before using std::ifstream
in debugger check, and reset it after we are done.

We also preventively save errno before using sprintf.

Fixes #835
2017-03-06 21:51:22 +01:00
Alex Glyde
d8f45cd5f1 changing tabs to spaces 2017-03-06 10:55:00 -05:00
Alex Glyde
3afd077b55 teamcity reporter should time durations explicitly 2017-03-06 10:35:03 -05:00
Martin Hořeňovský
e95bf48445 Take std::string by const-ref where possible
Most places already do, this brings over some forgotten places.

Also close #842
2017-03-06 13:16:43 +01:00
Phil Nash
f9db24a824 Refactored console reporter include logic to match Xml Reporter’s 2017-03-03 14:19:41 +00:00
Phil Nash
9bee606dd6 Tweaked Xml Reporter to follow same success/ info behaviour as Console reporter 2017-03-03 14:12:47 +00:00
Martin Hořeňovský
40f6a5b8a4 Added duration reporting to compact reporter
Also made the duration formatting code available to all reporters.

Closes #780
2017-03-02 16:16:17 +01:00
Martin Hořeňovský
95b0eb2b6c TAP reporter now behaves as if -s was always set
This should fulfill the TAP specification better.
2017-03-02 15:54:08 +01:00
Pietro Cerutti
da023b2f9a TAP Reporter: count success tests even if not printed
This fixes a bug whereas running the TAP reporter without the -s switch
causes the reporter to print 1..0.
2017-03-01 09:24:58 +00:00
Martin Hořeňovský
061a183036 Console reporter now uses fixed decimal formatting
3 decimal places, output in seconds.
2017-02-27 11:34:15 +01:00
Martin Hořeňovský
72b72ca937 Fix C++11 dependency in TAP reporter 2017-02-22 17:04:36 +01:00
Martin Hořeňovský
9e2616aeac Add missing assert.h include to reporter bases.
It being missing caused an error when compiling under MSVC.
2017-02-22 13:31:51 +01:00
Martin Hořeňovský
c5ffd2e3f0 Fixed up Automake reporter 2017-02-22 13:29:17 +01:00
Martin Hořeňovský
b0260c615d Fixed-up TAP reporter a bit. 2017-02-22 13:28:13 +01:00
Colton Wolkins (Ogre)
a63ce953a0 Add TAP reporter
This is a hackish attempt to add a TAP reporter (see
philsquared/Catch#309 ) by following the TAP 12 specification
<http://testanything.org/tap-specification.html>. I'm unsure how well I
did in following the spec or with following good C++ guidelines.
Comments are appreciated.

Signed-off-by: Colton Wolkins (Ogre) <frostyfrog2@gmail.com>
2017-02-22 11:35:20 +01:00
Justin Wilson
b753f05d74 Add reporter for Automake (#826)
This allows for integration with Automake's default log compiler.

See #826 for more details.
2017-02-22 11:17:25 +01:00
Martin Hořeňovský
9bab7c8229 Changed console reporter test duration reporting format
Was
"<section-name> completed in XXX s."
Now is
"XXX s: <section-name>"

Closes #322

(cherry picked from commit 0805539)
2017-02-22 08:35:53 +00:00
Phil Nash
90b3946e9c Add file/line to TestCase, Section and Failure elements in Xml Reporter 2017-02-17 10:26:17 +00:00
Phil Nash
873ef276b6 XML Reporter closes tag and flushes stream at end of TestCase and Section tags.
This fixes an issue where XML reports on stdout are broken by printf statements
2017-02-13 15:56:25 +00:00
Martin Hořeňovský
d0620c3495 Added std:: qualification to some functions from C stdlib
This should solve #543, once Clara changes are in as well.
2017-02-11 23:20:09 +01:00
Phil Nash
ab44fb6811 The file/ line in sections is now of the section. not the test case 2017-02-10 11:56:46 +00:00
Marek Klus
ab199d9cf9 XmlReporter: Trim test case name; added description and tags attributes to the test case element in the xml report. 2017-02-07 23:12:58 +00:00
Phil Nash
97d8003a71 XmlWriter can specify a stylesheet
Provide an extension point on XmlReporter to be able to supply a stylesheet url in a derived implementation
2017-02-07 23:09:43 +00:00
Phil Nash
23eb4cc580 Added stdout and stderr to XML Reporter 2017-02-06 16:14:06 +00:00
Martin Hořeňovský
e991c006b7 Fixes for MinGW compatibility
Some versions of MinGW do not support enough of Win32 API to let us work
with SEH, so SEH is now MSVC only (+ configurable toggle).

Also made use of gmtime_s MSVC only (as oposed to Windows only).

Fixes #805
2017-02-06 01:43:53 +01:00
Martin Hořeňovský
bcaa2f9646 Use char literal instead of string literal with 1 char
In reality, this is a relatively small performance improvement,
especially with the previous improvements removing lots of superfluous
string handling, but still was measurable.
2017-01-29 23:07:15 +01:00
Martin Hořeňovský
c390c4cb9f Fixed inconsistent and trailing whitespace
This means that all tabs used in indentation are now 4 spaces and that
there should be no more trailing whitespace.

Ill also look into creating a pre-commit hook that will prevent this
from happening in the future.

Fixes #105
2017-01-26 23:13:12 +01:00
Martin Hořeňovský
4ce11d63a6 Merge branch 'dev-performance' 2017-01-25 22:56:36 +01:00
Martin Hořeňovský
b71a06cf98 JUnit reporter outputs timestamps now
Also extended approval tests script to support the change
2017-01-16 20:21:43 +01:00
Mickey Rose
a1e9b841ff lazily stringify expressions 2017-01-14 21:56:16 +01:00
Phil Nash
0c093bee38 Removed now redundant xml stream initialisation 2016-11-29 12:13:55 +00:00
Martin Hořeňovský
40b6ad73df Fix XmlReporter always writing first line to stdout 2016-11-26 12:11:23 +01:00
Phil Nash
e0302db4a6 Rename element for Fatal Error Condition so it doesn't have spaces
Fixes: #685
2016-10-14 18:45:08 +01:00
Igor Akhmetov
02c7e41c7c Do not trim test case names in the XML reporter.
SCENARIO does not add leading spaces to the test name (only BDD-style section
names are modified), so the trimming is not necessary. But if the name is
trimmed, it makes it harder to correlate the output of XML reporter with tests
that have leading spaces in their name: e.g. these tests will have the same name
attribute:

TEST_CASE("Test") {}
TEST_CASE(" Test") {}
2016-08-30 11:15:19 +01:00
Phil Nash
3b19458fed Removed use of dynamic_cast for MultipleReporters
(Thanks to #630, #636 and #648)
2016-04-28 08:11:12 +01:00
Ian Copland
7075b7defb Added missing CATCH_OVERRIDE to CumulativeReporterBase::assertionEnded(). This fixes a warning when building in Xcode 7.2+ with default warning settings. 2016-03-29 17:03:09 +01:00
Phil Nash
447f53e9e3 Fixed !shouldfail 2016-03-14 19:13:34 +00:00
Phil Nash
9576ad9108 Removed unused parameter
- as per PR #530
2015-11-04 18:11:54 +00:00
Phil Nash
e91738103c Stripped trailing whitespace from all source code lines
(replaces need for PRs #310 and #504)
2015-11-04 18:04:15 +00:00
Phil Nash
a0de07d45b Some small clean-ups and refactorings
- removed previous instance saves in RunContext (they were a hang-over from embedded contexts)
- started cleaning up config usage
2015-09-28 01:09:06 -07:00
Phil Nash
368714e7aa Added Listeners (programatically provided extra reporters) 2015-08-07 08:20:56 +01:00
Phil Nash
4cb74761d9 Support for multiple reporters
- can't (yet) specify different targets for each reporter (e.g. different files)
2015-08-05 19:02:17 +01:00
Phil Nash
21f7ef6fdc Committed to semantic versioning
as prompted by #365, #430, #447 and a thread on the google group.
- split version bumping out of generateSingleHeader script
- separate scripts for bumping each version component
- "build" number only incremented for "develop" builds
2015-06-29 18:06:15 +01:00
Phil Nash
e04ba5c9f6 Removed over-eager assertion.
Doesn't hold if reporting due to a segfault
#377
2015-03-04 07:47:43 +00:00
Phil Nash
c6635a7b79 Added type attribute to xml reporter output
- reports the macro used
2014-12-30 18:25:27 +00:00
Phil Nash
6817bb099d Fixed up xml reporter and rebased 2014-12-30 18:24:31 +00:00
Phil Nash
3e0c501812 Fixed escaping of ' in TeamCity reporter 2014-12-29 20:04:54 +00:00
Phil Nash
1cbc4f2c9c Merge branch 'develop' of https://github.com/SeanCline/Catch into develop 2014-12-23 18:54:08 +00:00
Phil Nash
7619920f86 Support for reporting skipped tests
- implemented by TeamCity reporter
2014-12-22 20:10:33 +00:00
Phil Nash
58dcb5ea92 Removed #includes for Catch headers
see comment in file for details
2014-12-22 19:45:16 +00:00
Phil Nash
a9f16b18f7 Fix memset build error
Moved #include <cstring> to catch_reporter_bases.hpp
2014-12-22 07:42:25 +00:00
Phil Nash
3f9e3e21ea Some clean-up ready for first push to GitHub 2014-12-21 00:17:45 +00:00
Phil Nash
2771220a41 Cleaned up section headers
- and don't reprint test case name
2014-12-20 01:02:17 +00:00
Phil Nash
8ec959e936 TeamCity reporter work
expanded reporting - includes section headers
2014-12-20 00:46:02 +00:00
Phil Nash
5933d75cdc Fixed HasExpression check
classic spurious ! prefix
2014-12-19 19:25:53 +00:00
Phil Nash
3724463be7 Fixed escape order and expression reporting 2014-12-19 19:24:41 +00:00
Phil Nash
7306eb3cfc TeamCity reporter
added more detail to the assertion message
2014-12-19 19:05:24 +00:00
Phil Nash
458b3ae257 Fixed replace(inPlace) function
and added tests (should have done that in the first place - I'll never learn!)
2014-12-19 18:16:19 +00:00
Phil Nash
db0421e840 First commit of (in progress) TeamCity reporter
Should run but is not complete
2014-12-19 17:52:33 +00:00
Phil Nash
b0545d1f12 Some toString cleanups 2014-12-09 18:49:58 +00:00
Sean D. Cline
6e99695610 XmlReporter enhancement: Add an attribute for the macro name of an expression. 2014-10-11 20:01:14 -04:00
Sean D. Cline
ea81e98d6a XmlReporter enhancement: Add attributes for duration when requested by the command line. 2014-10-11 19:58:44 -04:00
Sean D. Cline
b0e53a8ee0 Move the xml reporter away from the deprecated IReporter interface. 2014-10-11 19:41:52 -04:00
Phil Nash
fa0122bf54 Allow testing ordering to be specified as declaration, lexicographical, or random. Allow random seed to be specified 2014-09-15 18:39:31 +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
76f80a670b More summary formatting tweaks 2014-07-09 19:20:24 +01:00
Phil Nash
cab9141eec Green summary bar is darker if not all passed
- and the green part now comes at the end (to emphasise the failures)
2014-07-09 18:24:24 +01:00
Phil Nash
a31f05fe83 Removed C-style casts 2014-07-09 07:35:34 +01:00
Phil Nash
94a1acf766 More tweaks to summary format 2014-07-03 19:06:59 +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
e21d0b29cc Killed a couple more warnings (one for VS2010 and one for Clang) 2014-05-19 19:04:38 +01:00
Phil Nash
3bdc97d8ad Suppressed a load of warnings 2014-05-19 18:57:14 +01:00
Phil Nash
4e9484ba30 Adjusted some elements of style in compact_reporter 2014-05-01 19:03:56 +01:00
Phil Nash
c02c7003dc Merged Martin Moene’s “compact reporter” 2014-05-01 07:27:57 +01:00
Phil Nash
f1928b7f24 Include missing <cstring> header
- should fix issue #274
2014-04-23 17:51:30 +01:00
Phil Nash
97150f27ac Renamed catch_tostring.hpp catch_tostring.h
- in preparation for splitting implementation into catch_tostring.hpp
2014-04-23 06:51:58 +01:00
Phil Nash
f219194199 Replace some static strings with static char*s for leak detection friendliness (h/t #272) 2014-04-22 17:54:29 +01:00
Phil Nash
7303b2b60e Changed branchName to char*, as per #266 2014-04-18 08:28:52 +01:00
Phil Nash
5845ae94aa Added private assignment operator to fix VS2010 issue
- thanks to Kosta (#239)
2014-02-11 18:11:06 +00:00
Phil Nash
9e529853ee Fixes compiler error for some versions of GCC
- Manual application of PR #196 (couldn’t merge)
- See also #226
2013-12-18 08:37:23 +00:00
Phil Nash
a1e87a4b7d trim test/ section names in xml reporter
- BDD-style test names have leading spaces for alignment in the console reporter
2013-12-10 08:20:46 +00:00
Phil Nash
ef95020239 Stop overloading virtualise defined at multiple levels 2013-12-07 09:08:01 +00:00
Phil Nash
c4a089c12b Refactored a lot of code from headers into impl headers only compiled into one TU
- also added noimpl option to single header script - which only generates the non impl code
2013-12-03 18:52:41 +00:00
Phil Nash
4f57c8c589 Print warnings if no assertions and not running with -s 2013-11-13 08:07:38 +00:00
Phil Nash
2f086ae255 If no assertions print custom message 2013-11-12 19:06:08 +00:00
Phil Nash
1e2f1d1603 Fixes toString forward reference issue:
- as raised in https://github.com/philsquared/Catch/pull/195
2013-09-14 19:58:45 +01:00
Phil Nash
f7378eebb6 Fixed string indexing bug 2013-09-07 12:07:38 +01:00
Phil Nash
f41fad7e20 Don't report durations if not reporter anything else 2013-08-16 18:57:41 +01:00
Phil Nash
3faa412855 Removed basic reporter 2013-08-15 19:09:07 +01:00
Phil Nash
d68510d6e3 Removed legacy JUnit reporter 2013-08-15 18:49:38 +01:00
Phil Nash
2ddb9d3802 Completed CumulativeReporterBase and reimplemented JUnitReporter in terms of it 2013-08-15 18:39:55 +01:00
Phil Nash
1f519dd856 Added LazyStat wrapper 2013-08-08 08:24:37 +01:00
Phil Nash
29ccaa67ad Replaced currentSectionInfo and m_rootSection with m_sectionStack 2013-08-08 08:05:19 +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
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
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
f3d1f08c3b Removed all trailing whitespace
- addresses #105
2013-07-03 19:14:59 +01:00
Phil Nash
503d5d0c8e Converted stray tabs to spaces 2013-07-03 08:25:11 +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
e1459955f1 Refactoring towards interface based config 2013-05-28 18:39:32 +01:00
Phil Nash
d4305377b7 Fixed inconsistency in reporting of _FALSE (negated) expressions 2013-05-17 19:35:33 +01:00
Phil Nash
b3acf45d70 Fully committed to new Text class.
- moved impl into .hpp
- replaced last few uses of LineWrapper with Text
- removed LineWrapper
2013-04-20 19:36:40 +01:00
Phil Nash
7059c6e1c3 Text class mostly working
- tabs not yet working
2013-04-19 19:08:32 +01:00
Phil Nash
bd5910ef9f Moved line info in header again 2013-04-17 00:05:25 +01:00
Phil Nash
1ece38ed20 Moved legacy_reporter_adapter files back into internal 2013-04-08 21:36:08 +01:00
Phil Nash
3bd4241795 Fixed Junit issue with REQUIRE_THROWS
- As mentioned by @SebDyn in GitHub issue #5
2013-04-08 12:05:32 +01:00
Phil Nash
7af7451f78 LegacyReporterAdapter unbundles INFO messages from assertion to mimic legacy behaviour
- Moved LegacyReporterAdapter out into its own file(s)
2013-04-08 11:44:03 +01:00
Phil Nash
4746caacaf LineWrapper can indent first line differently to subsequent lines
- use this to wrap Given/ When/ Then with indent after the :
2013-04-05 20:55:57 +01:00
Phil Nash
f186a912d4 Switched TextColour out for Colour
- Removed TextColour
2013-04-05 07:59:28 +01:00
Phil Nash
a3703faa0a First cut of new Colour class (to replace TextColour) 2013-04-05 07:47:36 +01:00
Phil Nash
2c90533a26 More formatting/ colour tweaks 2013-04-01 11:25:54 +01:00
Phil Nash
2a17ef9081 Use SecondaryText code in lists 2013-03-29 21:55:19 +00:00
Phil Nash
9e8abc33e7 Simplified StringWrapper
- by changing intoStream to << overload
- and removing redundant ctor
2013-03-27 23:36:58 +00:00
Phil Nash
b052bd729a Refactored string wrapper
- to be much more flexible (writes to vector)
- fixed a couple of bugs
2013-03-27 19:08:16 +00:00
Phil Nash
2e3c5fa2ad Addressed some warnings (mostly MSVC) 2013-03-25 08:46:48 +00:00
Phil Nash
a46ee0222a Print ~~~ at start of console output.
Some cleanup in the reporter code
2013-03-16 20:19:38 +00:00
Phil Nash
dc2735c23d Removed some cruft and warnings 2013-03-13 08:04:50 +00:00
Phil Nash
7542685a2f Moved "no test cases matched" message to reporter 2013-03-12 19:06:40 +00:00
Phil Nash
b7ff995e89 Tidied up some loose ends with reporting test cases and sections (now handles them as a single block).
This should fixes an issue where sections not being printed when they should be (and reverses a workaround where they were being printed too much)
2013-03-06 20:40:16 +01:00
Phil Nash
90b2bfec3d Patched issue where an assert before the first section can cause a set-fault (needs a better fix, though) 2013-03-04 15:06:31 +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
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
603002c644 Removed circular dependency between SectionInfo and its parent 2013-01-26 20:17:52 +00:00
Phil Nash
67ccd8d74a Allows console line width to be configured (and defaults to 80).
Line wrap is at console width-1
2013-01-26 20:06:55 +00:00
Phil Nash
3682433c2f console_reporter refactoring 2013-01-18 17:50:21 +00:00
Phil Nash
3ce320db4f More console reporter tweaks 2013-01-18 08:09:28 +00:00
Phil Nash
b588755a92 Tweaked console reporter some more 2013-01-17 12:07:34 +00:00
Phil Nash
10e891767f Dropped "Test case" and "Section" prefixes in test report headers 2013-01-17 11:47:23 +00:00
Phil Nash
0a87795535 Some test case header refactoring 2013-01-16 09:39:08 +00:00
Phil Nash
5a60ce2117 console reporter: got rid of spurious blank lines 2013-01-16 09:30:41 +00:00
Phil Nash
f8ba2277d3 console reporter:
Always print test case + sections in header for every new section.
Group sections into single block
Tweaked BDD mappings to print out nicely with above
2013-01-15 23:14:52 +00:00
Phil Nash
097282e00e Merged test case/ sections headers 2013-01-15 08:43:27 +00:00
Phil Nash
9beb6f24a1 More console reporter refactoring 2013-01-15 08:09:20 +00:00
Phil Nash
313481006f Refactored printResultType and printMessage to work off a single switch 2013-01-14 19:28:28 +00:00
Phil Nash
3b970e20e9 Refactored printResultType into switch 2013-01-14 18:58:50 +00:00
Phil Nash
60ed3c142c Some tidy up 2013-01-14 18:51:49 +00:00
Phil Nash
21c479f5aa More console reporter tweaks and approved new output 2013-01-14 18:36:25 +00:00
Phil Nash
bb76e47704 More console reporter tweaks - mostly newlines 2013-01-14 08:34:50 +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
86ad6348d4 Split original/ expanded expressions over multiple lines 2012-12-14 07:49:18 +00:00
Phil Nash
eac51f38bd Fix for long headers 2012-12-13 12:57:49 +00:00
Phil Nash
a7079a2dbe Changed header and summary logs to multiline forms 2012-12-13 12:46:47 +00:00
Phil Nash
6488fc1c88 Console reporter: Don't print full path for every line 2012-12-11 09:02:31 +00:00
Phil Nash
6fb8260add Tweaks to summary counts in console reporter 2012-12-11 08:27:21 +00:00
Phil Nash
bcad093af7 Console reporter is now the default 2012-12-10 08:54:57 +00:00