Billy Robert O'Neal III
ccf7f2842a
Fix random_shuffle narrowing warnings
...
Catch passes an RNG which accepts int to random_shuffle. Inside
random_shuffle, the STL tries to call that RNG with the difference_type
of the user provided iterators. For std::vector, this is ptrdiff_t,
which on amd64 builds is wider than int. This triggers a narrowing
warning because the 64 bit difference is being truncated to 32 bits.
Note that this RNG implementation still does not produce a correctly
uniformly shuffled result -- it's currently asserting that std::rand
can produce 1000000 which is false -- but I don't know enough about
how much repeatable shuffles are necessary here, so I'm leaving that
alone for now.
2016-10-14 14:06:45 -07:00
Phil Nash
1aa6c91e64
Fixed RNG issue with pre C++14 compilers
2016-06-09 19:07:05 +01:00
Phil Nash
be3570ef22
Use std::shuffle instead of (deprecated) std::random_shuffle if C++14 detected
2016-06-09 08:15:57 +01:00
Robert Dailey
86c0ea2999
[ #608 ] Don't use exit() on duplicate test descriptions
...
Instead of `exit(1)`, it now throws `std::runtime_error` with the details
of the failure. This exception is handled in `run()` at a higher level where
the log is printed to cerr and the test gracefully exits.
2016-04-01 11:56:51 -05:00
Phil Nash
981347b6e4
patch build to include last two fixes
2015-12-09 18:11:48 +00:00
Phil Nash
2b688e1cef
Initialise m_currentSortOrder
...
- as reported in #545
2015-12-09 06:15:52 +00:00
Phil Nash
722315a1f5
Removed some trailing whitespace
2015-12-04 10:20:33 +00:00
Phil Nash
0e64973f55
Added support for manually registering test functions.
...
As discussed in #421
2015-11-20 16:58:16 +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
8a05f46a37
Removed use of std::copy_if (as it's limited to c++11)
2015-08-07 17:53:29 +01:00
Phil Nash
c06e1909ae
Refactored test filtering and sorting
2015-08-04 23:11:56 +01:00
Phil Nash
57df3ba998
Force cout/ cerr to be initialised before errors in test registry are printed
...
- see #461
2015-07-10 07:44:37 +01:00
Phil Nash
d87e551efa
reseeds rng before each test case and provides access to seed through Catch::rngSeed() function
2015-07-02 23:02:35 +01:00
Phil Nash
7619920f86
Support for reporting skipped tests
...
- implemented by TeamCity reporter
2014-12-22 20:10:33 +00:00
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
b62a1b5334
Moved RandomNumberGenerator out of function and pass in a named instance instead of a temporary - both for C++03 compatibility reasons
2014-09-18 18:24:41 +01:00
Phil Nash
6492560394
Made sorting functors const
2014-09-15 23:36:39 +01:00
Phil Nash
9630454b0f
Added missing #include
2014-09-15 23:32:13 +01: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
b1e7d161b5
Moved catch_test_spec.h to catch_test_spec.hpp
2014-05-16 18:28:58 +01:00
Phil Nash
ae75b3774a
Switched over to new name/ tag parser
2014-05-16 18:24:07 +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
337dc25ed7
Converted all test case names to "modern" style (freeform text + tags)
2013-11-19 07:21:03 +00:00
Phil Nash
f7378eebb6
Fixed string indexing bug
2013-09-07 12:07: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
f3d1f08c3b
Removed all trailing whitespace
...
- addresses #105
2013-07-03 19:14:59 +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
c0b698073e
Initial support for variadic macros
2013-03-16 20:18:52 +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
78fba28c4b
Added className to TestCaseInfo
...
className is passed through from class based test methods and held in the TestCaseInfo.
For free-function based test cases it is set to "global".
The JUnit reporter uses the className value to populate he class attribute.
2012-11-04 21:11:59 +00:00
Matt Wozniski
f29c898443
Normalize include guards for all *.h and *.hpp
...
Some files had include guards that didn't match the file name, and
others were missing the include guards entirely.
Standardized this so that every include file has an include guard, and
all the guards are of the form TWOBLUECUBES_<FILENAME>_<EXT>_INCLUDED
2012-09-17 01:53:39 -04:00
Phil Nash
56d5c42912
First cut of new filtering mechanism
2012-08-23 20:08:50 +01:00
Phil Nash
c1dbc9c22b
Separated getting test cases to run from running them
2012-08-15 19:12:51 +01:00
Phil Nash
ddfe963623
Split imll from TestCaseInfo
2012-08-14 19:30:30 +01:00
Phil Nash
9c6ce97f01
Made ITestCase a shared object
2012-08-14 08:38:22 +01:00
Phil Nash
a695eb9006
Builds almost completely cleanly with -WEverything in LLVM
2012-08-13 07:46:10 +01:00
Phil Nash
da0ae952fc
Renamed static registries -> registry hub
2012-08-07 07:58:34 +01:00
Phil Nash
1091ca81e6
First cut of StaticRegistries - separate from Context
2012-08-06 20:16:53 +01:00
Phil Nash
371db8b42f
Context methods are non-static - accessed via interface
...
This is a move towards allowing multiple contexts - with the concept of a (possibly thread local) "current" context
2012-05-21 18:52:09 +01:00
Phil Nash
6cd2ac7544
More reformatting
2012-05-16 08:02:20 +01:00
Phil Nash
15140eacd7
Fixed missing #include
...
From GitHub issue #77
2012-05-11 18:55:19 +01:00
Phil Nash
d10d2d3485
More reformatting
2012-05-10 21:46:46 +01:00
Phil Nash
5ec53b2788
renamed hub -> context
...
(also did some reformatting)
2012-05-10 07:58:48 +01:00
Phil Nash
5d1c8f2c6d
Replaced all file/ line pairings with SourceLineInfo
2012-05-08 19:16:18 +01:00
Phil Nash
a976c07b8d
Fixed section ordering issue
...
If a branch section completes without running any inner sections it will no run subsequent sections (until the next isolated run).
2012-05-05 19:32:52 +01:00
Phil Nash
7b449f7abe
Ability to register line# for testing
...
Factored file/ line storage and formatting into common class.
Used in a static registry so failure messages can be asserted to have the file/ line in.
2012-02-15 08:20:06 +00:00
Phil Nash
3fd7dc0218
Prevent duplicate test names from being registered
...
If a test case with the same name as an already registered test case is registered an error is logged to cerr and the program exits (with error level 1)
2012-02-09 08:34:01 +00:00
Phil Nash
b13ad46532
stdout retained for all sections
...
Fixed issue where stdout was dropped between sections
2011-12-28 10:23:32 +00:00
Phil Nash
823ea3efd4
Re-org
2011-04-26 08:32:40 +01:00