Commit Graph

342 Commits

Author SHA1 Message Date
Martin Hořeňovský 1ca8f43b01 Add PredicateMatcher that takes an arbitrary predicate functions
Also adds `Predicate` helper function to create `PredicateMatcher`.
Because of limitations in type inference it needs to be explicitly
typed, like so
`Predicate<std::string>([](std::string const& str) { ... })`.
It also takes an optional second argument for description of the
predicate.

It is possible to infer the argument with sufficient TMP, see
https://stackoverflow.com/questions/43560492/how-to-extract-lambdas-return-type-and-variadic-parameters-pack-back-from-gener/43561563#43561563
but I don't think that the magic is worth introducing ATM.

Closes #1236
2018-04-04 11:14:19 +02:00
Martin Hořeňovský 0a34cc201e v2.2.1 2018-03-11 12:04:28 +01:00
Martin Hořeňovský d14b7563c2 v2.2.0 2018-03-07 11:06:15 +01:00
Martin Hořeňovský 552589f25b
Merge branch 'master' into master 2018-03-07 10:37:50 +01:00
Tomas Zeman 352853ed7e Introduce conditional wchar_t (and std::wstring) support
The support is turned on by default but the user might need to be able
to turn it off which is now possible by defining CATCH_CONFIG_NO_WCHAR.
2018-03-07 10:35:31 +01:00
Josh Soref b11175548a Fixup various spelling errors (#1208) 2018-03-07 10:08:35 +01:00
Martin Hořeňovský cf4b7eead9 Document CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS macro
Also fix how it can be disabled.
2018-02-25 21:22:38 +01:00
Nils Deppe e84768fff1 Add SpECTRE project to list of users. 2018-02-14 08:31:33 +01:00
Martin Hořeňovský 31673ee0ca Document CATCH_CONFIG_DEFAULT_REPORTER macro 2018-02-11 18:10:28 +01:00
Martin Hořeňovský 34d7a33574 Add a way to change fallback stringifier
This allows reuse of projects existing stringification machinery

Closes #1024
2018-02-11 16:31:12 +01:00
Martin Hořeňovský 082c3b84bc Fix typos in documentation 2018-02-10 22:16:32 +01:00
Martin Hořeňovský a90305f857 Add another known bug to limitations.md
Related to #1183
2018-02-10 13:51:33 +01:00
dvirtz 355b3f9952 Add option to warn when no tests ran
Closes #1158
2018-02-09 18:49:36 +01:00
Martin Hořeňovský 7cbd0b587a v2.1.2 2018-02-09 17:10:27 +01:00
Martin Hořeňovský 5e484862f2 Add Catch::is_range to documentation 2018-02-01 20:29:49 +01:00
George Fotopoulos 5e8df1c384 Update opensource-users.md 2018-01-28 21:05:24 +01:00
Martin Hořeňovský 44dbda9f01 Add CATCH_VERSION_* defines for external use
I wonder how much use they will actually see, but their cost is
fairly minor.

Closes #1131
2018-01-26 20:56:14 +01:00
Martin Hořeňovský 62dae592c3 v2.1.1 2018-01-26 16:06:07 +01:00
Phil Nash d5959907f5 Added Catch::clara namespace to doc for adding Opt
- Thanks to sakamoto-poteko in #1159 for point out its ommission
2018-01-23 07:44:09 +00:00
Martin Hořeňovský 9700ee4fc0 Update CTest autodiscovery documentation 2018-01-12 12:28:14 +01:00
Martin Hořeňovský bbda8cd77c Update reporter docs with their new location 2018-01-12 12:20:52 +01:00
Martin Hořeňovský 5774c4f9c2 Update release process with the need to release reporters 2018-01-11 21:06:35 +01:00
Martin Hořeňovský cd76f5730c v2.1.0 2018-01-10 13:53:04 +01:00
Aivars Kalvans 13ea4225e7 Add fuxedo.io to open source users 2018-01-06 14:02:01 +01:00
Phil Nash fc88313d45 Added DtCraft to Open Source users 2017-12-12 17:22:40 +00:00
Dan Nissenbaum 88d2bac624 Trivial typo fix. (#1119) 2017-12-09 21:29:39 +01:00
Martin Hořeňovský 24851dff99 Add release notes from the EOL of Catch Classic 2017-12-03 14:19:02 +01:00
lbersch 516dbc83bc Add inja to open source users (#1106)
* Add Inja to open-source users
* Capitalize first letter in user description
* Fix url
2017-11-17 11:49:39 +01:00
Martin Moene 2bbba4f544 Refer to example code from the Tutorial 2017-11-15 15:37:39 +01:00
Martin Moene 29cdd6c526 Add link to event listener example to documentation 2017-11-15 15:37:39 +01:00
Martin Moene dfb7217613 Add list of examples to documentation 2017-11-15 15:37:39 +01:00
Martin Hořeňovský 97a8640cbf Update 3rd party bugs documentation
Removes bugs from no longer supported compilers
Adds a confirmed 3rd party bug in VS 2015

Closes #881
2017-11-14 22:05:30 +01:00
Martin Hořeňovský 033e078320 Fix typo in build system docs 2017-11-14 21:42:28 +01:00
Martin Hořeňovský 9796a77a37 Initial prototype of PCH support
Related to #1061
2017-11-14 21:41:36 +01:00
Martin Hořeňovský b0857e846f Provide a regex matcher against std::string
Related to #1040
2017-11-13 15:35:31 +01:00
Martin Hořeňovský 0b1f1b1003 Add ULP and margin matcher
Closes #1074
2017-11-10 18:33:00 +01:00
Phil Nash 24e6d5fa33 Fixed release notes mention of *_THROWS_MATCHES
As reported in #1088
2017-11-09 11:09:17 +01:00
Phil Nash 7423a481eb Updated some Catch references to Catch2 2017-11-03 13:05:09 +00:00
Phil Nash b119ebdde1 v2.0.1 release 2017-11-03 12:01:52 +00:00
Phil Nash 1c43fb64c1 Added docs for extending command line with Clara 2017-11-02 18:01:24 +00:00
Phil Nash 8b40c26434 Removed handling of start-up exceptions from custom main docs 2017-11-02 18:01:24 +00:00
Martin Hořeňovský 31cc62e6b7 Updated release notes with Approx changes 2017-11-01 22:25:17 +01:00
Martin Hořeňovský a49e6fdc27 Update Approx documentation 2017-11-01 13:45:21 +01:00
Martin Hořeňovský ae21020640 dev build 6 2017-10-31 15:17:21 +01:00
Pfiffikus c3ddd4a7e2 Update test-cases-and-sections.md
some clarification and typo correction
2017-10-31 14:28:30 +01:00
Clare Macrae c43ce85416 Fix very minor typo
it's -> its
2017-10-31 14:28:20 +01:00
Pfiffikus 4220f2eef2 Update build-systems.md
typo correction
2017-10-31 14:28:10 +01:00
Martin Hořeňovský 88e912b4d1 Fix documentation crosslink in configuration.md 2017-10-31 14:19:53 +01:00
Martin Hořeňovský 276393e4e5 Change ToC script to use <br> instead of trailing spaces
Also updated docs that contain ToC. Fixes #1048
2017-10-13 11:17:38 +02:00
Martin Hořeňovský 79b405fd3f Add stringification for std::chrono::{duration,time_point}
Also hides std::chrono, std::pair and std::chrono::* behind
new configuration macros, CATCH_CONFIG_ENABLE_*_STRINGMAKER
to avoid dragging in <utility>, <tuple> and <chrono> in common
path, unless requested.
2017-10-09 13:03:29 +02:00
Martin Hořeňovský b80c5134f0 Updated release notes 2017-10-01 17:03:06 +02:00
Martin Hořeňovský 80bbce8424 Reorganize release notes 2017-09-26 13:38:09 +02:00
Phil Nash e9f0773f37 Updated release notes 2017-09-19 17:36:20 +01:00
Martin Hořeňovský a4df0b2c37 Remove obsoleted utility functions on matchers
Natural operators, &&, || and ! are preferred and do not have
limited arity.
2017-08-30 19:45:09 +02:00
Martin Hořeňovský 13213faa4e Update release notes in regards to CATCH_CONFIG_DISABLE 2017-08-30 12:43:23 +02:00
Martin Moene 07211cea9c Add table of contents 2017-08-29 17:25:24 +02:00
Martin Moene c5553019cc Fix heading levels
- page title (chapter): 1
- sections: 2
2017-08-29 17:25:24 +02:00
Martin Moene 66124d9e38 Make Current, Older releases sections, add subsections for each minor release 2017-08-29 17:25:24 +02:00
Martin Hořeňovský 053c29a2b8 Add partial implementation of CATCH_CONFIG_DISABLE
* Assertions are defined into (void)(0) no-op
* SECTIONs are defined away (leaving {} as scope)
* TEST_CASEs and TEST_CASE_METHODs are not registered.
* REGISTER_TEST_CASE is defined into (void)(0) no-op
* METHOD_AS_TEST_CASE is defined away
2017-08-27 22:05:25 +02:00
Martin Hořeňovský 2a13593885 Update CATCH_CONFIG_FAST_COMPILE documentation
Now it mentions that CHECK family of macros is affected as well
2017-08-27 16:48:15 +02:00
Martin Hořeňovský a0988dabf6 Add the experimental benchmark feature in documentation 2017-08-27 16:47:25 +02:00
Martin Hořeňovský 8f6d6a4a2d Remove legacy [hide] tag
Also removed even legacier "./" prefix for test case name...
2017-08-27 16:45:53 +02:00
Martin Hořeňovský e8d3be3621 Workaround raw string literal bug in VS2017 2017-08-27 12:38:59 +02:00
Martin Moene 071f49b12b Add page titles 2017-08-24 22:56:27 +02:00
Martin Moene 6c09b45a20 Let toplevel links to .md files link to .md#top 2017-08-24 19:40:36 +02:00
Martin Moene e8225052f1 Add html anchor 'top' 2017-08-24 19:40:36 +02:00
Martin Hořeňovský 49f5919c41 Add partial release notes for 2.0.0 2017-08-18 20:15:00 +02:00
Martin Hořeňovský c7da5b5128 Remove obsolete note from reporter documentation 2017-08-18 19:33:00 +02:00
Martin Hořeňovský 3dc4de8173 Document implementation of listeners in non-main files
Closes #991
2017-08-18 19:33:00 +02:00
Martin Hořeňovský 626b1d3936 Add problems with `SECTION`s in loops to documentations 2017-08-18 19:33:00 +02:00
Phil Nash ff9aaf3afe Added Clara and TextFlowCpp to open source users 2017-08-17 10:48:53 +01:00
Phil Nash 0b52dbe8bb Small doc updates 2017-08-17 08:28:45 +01:00
Phil Nash 699e571400 Documented benchmark-resolution-multiple command line option
- and increased default to 100
2017-08-15 19:51:22 +01:00
Phil Nash 07ded81541 Added --libidentify and --wait-for-keypress to docs 2017-08-15 19:43:30 +01:00
Monocasual 74dfd0b1e0 Add open-source user 2017-08-15 13:48:43 +01:00
Martin Hořeňovský 0aec06f4c3 Update documentation with changes from 7e4038d 2017-08-14 12:20:27 +01:00
Martin Hořeňovský aa42dd92d1 Merge branch 'master' into dev-modernize 2017-08-10 11:34:26 +02:00
Martin Hořeňovský 705a1bf527 Add wandbox to release process documentation
Also some formatting and wording changes.
2017-08-08 23:04:10 +02:00
Cody Han d5613fb18a Update matchers docs to reflect namespace usage 2017-08-03 19:11:21 +02:00
Markus Werle 28741467d5 Update tutorial.md 2017-08-01 22:29:13 +02:00
Ivan Kush 7a76ff161b added 'args' argument parser library 2017-08-01 22:27:51 +02:00
Martin Hořeňovský 0ca4cfb743 Introduce compile time toggle to remove Matchers from TU
The toggle is `CATCH_CONFIG_DISABLE_MATCHERS` and the only use is
to speed up compilation of small TUs. For large ones it is likely
insignificant, because the speed up is constant relative to
number of tests/assertions in TU.
2017-07-28 21:34:34 +02:00
Martin Hořeňovský a14bd08b27 Update documentation to reflect the last change 2017-07-19 21:34:06 +02:00
Martin Hořeňovský 91c1556078 Moved Catch NotImplementedException out of the common include path
We could probably toss it away completely, currently it is used
only by TeamCity reporter.
2017-07-12 15:05:01 +02:00
Ivan Kush 8d380a7399 added 'args' argument parser library 2017-07-05 15:55:28 +02:00
Markus Werle 6f32db35af Update tutorial.md 2017-06-28 20:54:31 +02:00
Phil Nash cb0a5194af Updated overview docs a bit 2017-06-27 11:45:47 +01:00
Phil Nash 4c1880b35f Clamp exit code internally, so it doesn’t have to be done in every main() implies 2017-06-27 11:37:50 +01:00
Martin Hořeňovský ee67ac6b7c v1.9.6 2017-06-27 12:21:48 +02:00
Martin Hořeňovský c5bac73cad Merge branch 'master' into dev-modernize
This includes the performance commits done recently
2017-06-26 19:08:42 +02:00
Martin Hořeňovský 9382534d59 Added "How to test changes in PR" section to documentation
Also linked it from PR template.

Closes #936
2017-06-26 16:54:14 +01:00
Martin Hořeňovský a6cdcd43aa Added "How to test changes in PR" section to documentation
Also linked it from PR template.

Closes #936
2017-06-22 18:56:10 +02:00
Martin Hořeňovský 017a63da62 v1.9.5 2017-06-15 13:08:26 +02:00
Martin Hořeňovský e0aaba6cf8 Actually link #923 from the documentation 2017-06-06 16:46:46 +02:00
Martin Hořeňovský a09bef23ed Refer to #923 in reporter documentation 2017-06-06 16:43:14 +02:00
Martin Hořeňovský c465fbd0ea Slight documentation improvements 2017-06-05 18:42:04 +02:00
Martin Hořeňovský 950cae9040 Added new assertion macros: `*_THROWS_WITH`
It combines `*_THROWS_AS` and `*_THROWS_WITH` macros, so that the
exception type matches expectetations and its contents match a specific
matcher.
2017-06-05 18:40:50 +02:00
Martin Hořeňovský 7f6773bb4d Merge branch 'master' into dev-modernize
Hopefully nothing went too wrong.
2017-06-05 17:19:42 +02:00
Martin Hořeňovský da0edcbe25 Collect startup exceptions instead of throwing them
Previously, some errors in Catch configuration would cause exceptions to
be thrown before main was even entered. This leads to call to
`std::terminate`, which is not a particularly nice way of ending the
binary.

Now these exceptions are registered with a global collector and used
once Catch enters main. They can also be optionally ignored, if user
supplies his own main and opts not to check them (or ignored them
intentionally).

Closes #921
2017-06-04 21:39:27 +02:00
Martin Hořeňovský 3e018ef131 Add link to external gcov/lcov example to documentation
An alternate take on #916, that better slots into the existing
documentation.

Closes #916
2017-06-04 12:17:59 +02:00