Commit Graph

304 Commits

Author SHA1 Message Date
Phil Nash 338ba6b9ba Migrated Config and IConfig to shared_ptr (from Ptr) 2017-04-25 21:56:14 +01:00
Phil Nash e749724a11 A load more C++11 tweaks - mostly moving initialisations from constructors to inline 2017-04-25 19:30:53 +01:00
Phil Nash 79650e44f4 Removed more C++98/03 compatibility 2017-04-25 12:40:52 +01:00
Martin Hořeňovský 71df66365e Gutted catch_compiler_capabilities
All C++11 toggles are now removed. What is left is either platform
specific (POSIX_SIGNALS, WINDOWS_SEH), or possibly still needed
(USE_COUNTER).

If current CLion is compatible with `__COUNTER__`, then we should also
force `__COUNTER__` usage.

Changed
* CATCH_AUTO_PTR    -> std::unique_ptr
* CATCH_OVERRIDE    -> override
* CATCH_NULL        -> nullptr
* CATCH_NOEXCEPT    -> noexcept
* CATCH_NOEXCEPT_IS -> noexcept

Removed
* CATCH_CONFIG_CPP11_UNIQUE_PTR
* CATCH_CONFIG_CPP11_SHUFFLE
* CATCH_CONFIG_CPP11_TYPE_TRAITS
* CATCH_CONFIG_CPP11_OVERRIDE
* CATCH_CONFIG_CPP11_LONG_LONG
* CATCH_CONFIG_CPP11_TUPLE
* CATCH_CONFIG_CPP11_IS_ENUM
* CATCH_CONFIG_CPP11_GENERATED_METHODS
* CATCH_CONFIG_CPP11_NOEXCEPT
* CATCH_CONFIG_CPP11_NULLPTR
* CATCH_CONFIG_VARIADIC_MACROS
2017-04-25 12:43:19 +02:00
Phil Nash 1f3ba8a0b6 Converted (almost) all for-loops with iterators or indices to range-based 2017-04-25 11:07:02 +01:00
Phil Nash e5c5a636a9 junit reporter does not count exceptions as failures if ok-to-fail 2017-04-11 15:47:42 +01:00
Phil Nash 29d26d3179 Commented out unused argument 2017-04-07 11:36:54 +01:00
Phil Nash ca764ec8d9 TeamCity reporter “ignores” failures in tests marked “ok to fail”
- also don’t report hidden/ not-selected tests
2017-04-07 11:15:37 +01:00
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