Commit Graph

471 Commits

Author SHA1 Message Date
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
8ba6555acd Merge pull request #224 from PetterS/cygwinfix
Fix fileno not always present. fileno(stdout) = 1.
2013-11-26 15:33:37 -08:00
Petter Strandmark
c032dfa41c Fix fileno not always present. fileno(stdout) = STDOUT_FILENO.
This was a problem when compiling on Cygwin with gcc 4.8.
2013-11-26 23:20:05 +01:00
Phil Nash
5ecb72b9bb Build 14 2013-11-26 20:57:45 +00:00
Phil Nash
782c2b5891 Added ability to load names of tests to run from a file
- use -f to specify filename. Blank lines and lines starting with # are ignored
- also added --list-test-names-only to list test names out to file in a form that can be immediate read in by -f
2013-11-26 20:57:34 +00:00
Phil Nash
200197f0b2 Merge branch 'master' of github.com:philsquared/Catch 2013-11-19 07:22:24 +00:00
Phil Nash
337dc25ed7 Converted all test case names to "modern" style (freeform text + tags) 2013-11-19 07:21:03 +00:00
Adam Strzelecki
d1e5480d95 std::auto_ptr is deprecated in c++11/c++0x
This will use std::unique_ptr on C++11 and remove deprecation warning.
2013-11-17 18:44:35 +01:00
Phil Nash
8d44f2dbb2 build 13 2013-11-13 08:10:45 +00:00
Phil Nash
ecb9432763 Simplified and tidied test case and tag listing 2013-11-12 18:59:34 +00:00
Phil Nash
5320518dbc Build 12 2013-11-09 07:47:09 +00:00
Phil Nash
0712bbb251 Merge pull request #207 from Fraser999/list_tests_issue
List tests issue
2013-11-07 03:11:19 -08:00
Phil Nash
c2b0c6fb08 Added missing #include for <vector> 2013-11-07 10:35:59 +00:00
Fraser Hutchison
6253386458 Fixes overflow issue when listing tests. 2013-10-24 02:53:13 +01:00
Phil Nash
93a945cee9 Fixed uninitialised members in Context object 2013-10-23 15:35:07 +01:00
Phil Nash
380f98ed1f Regenerated single include 2013-10-17 22:45:21 +01:00
Phil Nash
39ef46a02e Truncate excessively long messages rather than asserting 2013-10-17 18:02:38 +01:00
Phil Nash
0b097c26b6 Fix wrapping width when listing tests
- addresses #201
2013-10-02 08:07:52 +01:00
Phil Nash
b4af9b9620 Merge commit '22ded1f2bb3caf96d90c2f1981ede29d3aeb1c74' 2013-09-25 18:48:53 +01:00
Phil Nash
41b27af45b Fix for comma separated tags on the command line
- also added more test for tags
2013-09-25 18:40:07 +01:00
Phil Nash
358b7b29e1 Eliminate a warning in the latest clang with Xcode 2013-09-24 07:41:18 +01:00
Andy Sawyer
d6f23a9a36 catch_tostring : moved defintion of rangeToString
Detail::rangeToString is now defined after the various toString
overloads. This results in them being accessible with rangeToString is
instantiated (in this case, by StringMaker<vector>). This (sort-of)
fixes the problem where contained types are toString'd incorrectly.

Consider:
  std::vector<std::string> v { "abc" };

Before:
  Catch::toString( v ) == "{ abc }"
After:
  Catch::toString( v ) == "{ "abc" }"

(note the extra pair of quotes around the "abc" - these are added by
Catch::toString( std::string ) which is now called by rangeToString)
2013-09-21 18:45:42 +01:00
Andy Sawyer
0dbcf218c3 Add allocator support to StringMaker<vector>
- also extracted out 'rangeToString', in an attempt to make it easier
   to add support for other containers
2013-09-17 22:22:47 +01: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
638cf9feb4 Separated out catch_platform.h 2013-08-16 19:08:39 +01:00
Phil Nash
46118714b1 Build 8
- includes command line tweaks and fixes for durations
2013-08-16 19:01:32 +01:00
Phil Nash
1870ca8455 Some Clara/ command line clean-up and tweaks 2013-08-16 18:57:57 +01:00
Phil Nash
357d654641 Added missing assert include 2013-08-16 08:01:16 +01:00
Phil Nash
3faa412855 Removed basic reporter 2013-08-15 19:09:07 +01:00
Phil Nash
aa7123b696 Build 7
- New Junit reporter
- New Timer class
2013-08-15 19:01:00 +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
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
801672b962 Fix MSVC warning 2013-07-25 08:18:09 +01:00
Phil Nash
8a52a39fdc Build 6
- fixes infinite loop bug (#185 and #166)
2013-07-25 08:12:03 +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
6a484fdb02 Reworked SectionTracker and moved into own header 2013-07-23 18:48:36 +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
503d5d0c8e Converted stray tabs to spaces 2013-07-03 08:25:11 +01:00
Phil Nash
ad7445d33c build 5
- added throw() to streambuf destructor overrides (#182)
2013-07-02 08:49:29 +01:00
Phil Nash
3907559896 build 4 2013-07-01 19:02:29 +01:00
Phil Nash
066a6388d6 Fix for #179 2013-07-01 18:45:19 +01:00
Phil Nash
ba9b2b5a37 Use MFCs windows include if present 2013-07-01 18:44:40 +01:00
Phil Nash
4b5e008b20 guard NOMINMAX definition (windows) 2013-06-29 20:31:17 +01:00
Phil Nash
cd688300b0 Build 2 2013-06-29 12:11:32 +01:00
Phil Nash
5d26ca1af7 Static assertion for && and || expressions 2013-06-29 12:07:33 +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
9c39a5e8dd Support [.] as alias for [hide] 2013-06-28 16:05:13 +01:00
Phil Nash
235204393a Big merge from Integration
- now v1.0 build 1
2013-06-28 14:11:28 +01:00
Phil Nash
a76d93ad54 Removed filename from --reporter option
(it's not implemented yet)
2013-06-26 08:42:05 +01:00
Phil Nash
5ddd6e31e4 Added #define NOMINMAX
- thanks to @robson3 in #171
2013-06-14 19:18:13 +01:00
Phil Nash
7d5f2715ce Fixed script for new readme
- updated README with new version
- fixed casing error for -e opt description
2013-06-07 21:15:25 +01:00
Phil Nash
786959d535 build 39 2013-06-07 19:07:50 +01:00
Phil Nash
11381c146c Tweaked indentation of errors and test lists 2013-06-07 19:06:30 +01:00
Phil Nash
27cae858d0 Use Text formatter to list reporters 2013-06-07 18:56:43 +01:00
Phil Nash
80557647d6 re-encapsulated session vars.
- construct Config object lazily
2013-06-07 18:41:22 +01:00
Phil Nash
f438e04b5d list options return number listed 2013-06-06 22:54:42 +01:00
Phil Nash
e035e2835d tweaks 2013-06-06 18:56:43 +01:00
Phil Nash
c1196b6245 Moved all Catch::Main()s into new Session class
- renamed them run()
- moved cleanUp call into destructor
2013-06-05 18:48:18 +01:00
Phil Nash
cb60d130f8 Runner -> RunContext, Runner2 -> Runner and fixed issue with processName 2013-06-05 08:18:52 +01:00
Phil Nash
1b47e11387 Added processConfig() method 2013-06-04 22:49:14 +01:00
Phil Nash
2ed56c47a6 Removed legacy cli parser 2013-06-04 08:38:40 +01:00
Phil Nash
aee9b75e37 Now fully switched over to Clara-based command line with modified args 2013-06-04 08:37:28 +01:00
Phil Nash
0514fe4f38 Got parseCommandLine ready to use new Clara (but not doing so yet) 2013-05-31 18:48:31 +01:00
Phil Nash
f330fe7ef9 Made generated function name more obvious (for quickly finding in debugger's stack viewer) 2013-05-31 08:11:01 +01:00
Phil Nash
c9f0f55451 Last changes to ConfigData names (for now) 2013-05-31 08:01:56 +01:00
Phil Nash
40e529740c Removed stream name from config 2013-05-29 19:06:25 +01:00
Phil Nash
3f184e22e8 ConfigData now looks virtually identical to the Clara test Config 2013-05-29 19:01:06 +01:00
Phil Nash
20ddb0055f ConfigData just keeps strings for test names/ specs/ tags (processed in Config actor) 2013-05-29 18:56:29 +01:00
Phil Nash
c2ca80d9fb Config refactoring: split List enum into three bools 2013-05-29 18:42:46 +01:00
Phil Nash
3c3beb57c3 More config refactoring 2013-05-29 18:34:11 +01:00
Phil Nash
be8fd82f20 Started nudging ConfigData towards new layout 2013-05-29 08:12:57 +01:00
Phil Nash
f6892bfdf0 Listing is now in terms of interface (and calls to bool functions) 2013-05-29 07:59:01 +01:00
Phil Nash
6b8837bd93 Final refactoring to remove direct access to encapsulated ConfigData once in Config 2013-05-28 19:07:29 +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
10fa0593db Moved Clara into its (her?) own file 2013-05-27 10:52:58 +01:00
Phil Nash
d4305377b7 Fixed inconsistency in reporting of _FALSE (negated) expressions 2013-05-17 19:35:33 +01:00
Phil Nash
597ed1f79d handle TEST_CASE_METHOD macro consistently
- internally define INTERNAL_CATCH_TEST_CASE_METHOD
2013-05-14 19:31:21 +01:00
Phil Nash
8defc71e6d Build 38 2013-04-24 19:10:02 +01:00
Phil Nash
bf37e6879a Removed use of compiler specific techniques for denoting non-returning functions
- use if( Catch::isTrue( true) ) to guard throws instead
2013-04-23 20:52:49 +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
d0d4d93a6b Build 37
- string matchers work with NULLs
- removed stray CATCH_CONFIG_SFINAE for GCC 3
2013-04-23 08:02:48 +01:00
Phil Nash
06548a5b61 Fix for #144
- string matchers now work with NULLs
2013-04-23 07:59:56 +01:00
Phil Nash
c887d1a167 Removed rogue CATCH_CONFIG_SFINAE for GCC 3.x 2013-04-22 22:20:42 +01:00
Phil Nash
471eba2c32 Build 36
- incorporation of pull request #154 to allow comparison with nullptr_t
- some compiler capability tweaks
2013-04-22 18:55:12 +01:00
Phil Nash
4dd3f68dd9 Compiler capabilities clean-up
- renamed CATCH_SFINAE -> CATCH_CONFIG_SFINAE
- moved variadic macros detection into catch_compiler_capabilities.h
2013-04-22 08:19:17 +01:00
Phil Nash
dd52044374 Build 35
- non-SFINAE IsStreamInsertable
2013-04-20 23:20:05 +01:00
Phil Nash
9fff9e47d3 Complete disable CATCH_SFINAE for now 2013-04-20 23:18:44 +01:00
Phil Nash
003960dc90 Returned to older version of IsStreamable
- this time based on code from Martin Moene
https://gist.github.com/martinmoene/5418947#file-insertionopdetector-cpp
2013-04-20 23:12:17 +01:00