Commit Graph

3178 Commits

Author SHA1 Message Date
Martin Hořeňovský 86e19b952d
NoAssertions runs only 1 test case instead of all of them 2020-02-04 10:11:55 +01:00
Martin Hořeňovský bce5b364d3
Unconditionally provide <chrono> StringMakers 2020-02-03 20:53:36 +01:00
Martin Hořeňovský 34bc56340d
Normalize TAP approvals to avoid massive diffs for every change 2020-02-03 20:29:36 +01:00
Martin Hořeňovský c3a5e21648
Move Approx out of the Detail namespace 2020-02-03 15:14:59 +01:00
offa bd9520c0f9 GCC pragma fixed. 2020-02-03 09:27:34 +01:00
Martin Hořeňovský a3ffc20f57
Provide CTest a hint on test costs (and thus ordering)
When running tests in parallel, CTest runs the tests in decreasing
order of cost (time required), to get the largest speed up from
parallelism. However, the initial cost estimates for all tests are
0, and they are only updated after a test run. This works on a dev
machine, where the tests are ran over and over again, because
eventually the estimates become quite precise, but CI always does
a clean build with 0 estimates.

Because we have 2 slow tests, we want them to run first to avoid
losing parallelism. To do this, we provide them with a cost estimate
manually.
2020-02-03 09:07:23 +01:00
Martin Hořeňovský b86ab20154
OpenCppCoverage skips coverage of non-source directories
Previously, we would collect coverage data for all source files in
Catch2's directory, including tests and examples, and we would then
ask codecov.io to ignore those. With this change, OpenCppCoverage
only collects coverage data for source files in the `src/` directory.
This cuts the size of the coverage report in half, and also speeds
up the coverage collection.
2020-02-02 23:15:22 +01:00
Martin Hořeňovský 1327946785
Add all in-repo reporters to approval tests 2020-02-02 15:04:19 +01:00
Martin Hořeňovský a49ab0a162
Do not count test files into coverage 2020-02-02 14:51:41 +01:00
Martin Hořeňovský 3b297cf9b5
Outline Config destructor to avoid including superfluous header 2020-02-02 14:43:26 +01:00
Martin Hořeňovský 66fe591477
Replace C++11 use of ::type with the _t suffix for std traits 2020-02-02 12:59:19 +01:00
Martin Hořeňovský ea6db67063
Use std::make_unique instead of our polyfill or naked new
The use we previously used the polyfill or naked new is that we
supported C++11, which did not yet have `std::make_unique`. However,
with the move to C++14 as the minimum, `std::make_unique` can be
expected to be always available.
2020-02-01 23:34:00 +01:00
Martin Hořeňovský a7b3e087a0
Fix coverage collection on AppVeyor 2020-01-31 14:44:40 +01:00
Martin Hořeňovský ddd0e7218d
Remove the !hide special tag 2020-01-28 20:48:32 +01:00
Alexandr Timofeev 49e000b505
[conan] Fix the Conan package for multiple static library use 2020-01-25 22:39:50 +01:00
Martin Hořeňovský 2e1ce37faa
Try uploading in-development versions of v3 as testing packages 2020-01-25 21:09:48 +01:00
Martin Hořeňovský d0257fc1ff
Do not use shared_ptrs for filters and patterns 2020-01-25 20:39:17 +01:00
Martin Hořeňovský df2379218b
Reduce the use of shared_ptrs for various Config objects
Ideally they would not be used at all, but the main config lifetime
is a weird mess right now and will require further refactoring.
2020-01-25 17:41:38 +01:00
Martin Hořeňovský 7134ad9913
Replace shared_ptr with unique_ptr for reporters 2020-01-25 14:07:29 +01:00
Martin Hořeňovský 827733fe81
Improve approval tests handling off tagged devel versions 2020-01-25 11:23:40 +01:00
Martin Hořeňovský 2f4a7dda68
Have the in-development version report as v3.0.0
Because some of the tooling used by Catch2 does not properly support
version postfixes, such as `preview-1`, we will report the
in-development version is `v3.0.0`, and the first real release will
have to be `v3.0.1`.

Closes #1824
2020-01-25 09:15:46 +01:00
Martin Hořeňovský 6c3a5ef625
Remove CATCH_CONFIG_DISABLE_MATCHERS
Now that the recommended distribution and usage method is proper
library, users can just avoid including the matcher headers to get
basically the same effect.
2020-01-25 09:07:36 +01:00
offa c770a9c8b5 Conan topic cleanup. 2020-01-24 15:10:43 +01:00
Martin Hořeňovský d63681f707
Remove testing of CATCH_CONFIG_FALLBACK_STRINGIFIER from SelfTest
This removes a potential ODR violation and the configuration option
is tested in its own separate binary anyway.
2020-01-21 15:14:24 +01:00
Martin Hořeňovský 2b696c4388
Piecemeal includes in extra-tests 2020-01-21 15:03:07 +01:00
Martin Hořeňovský 17281c09c3
Convert examples to piecemeal includes 2020-01-21 14:46:07 +01:00
Martin Hořeňovský 26f78f96aa
Start using piecemeal includes in test files 2020-01-21 10:03:54 +01:00
Martin Hořeňovský c381b49c60
Split the test macros into their own file 2020-01-19 16:01:50 +01:00
Martin Hořeňovský acf975cab1
Separate version macros to its own header 2020-01-19 15:39:11 +01:00
Martin Hořeňovský ec7280379e
Adjust release scripts for v3 2020-01-19 15:39:11 +01:00
offa 21868deeab Conanfile updated to build the static libraries. 2020-01-19 14:59:33 +01:00
Martin Hořeňovský 4005d87460
Use proper linkage between Catch2Main and Catch2 2019-12-18 20:14:34 +01:00
Martin Hořeňovský 0dc30e51c0
Update codecov ignorelist 2019-12-18 18:04:31 +01:00
Martin Hořeňovský 0c62a50392
Add the catch_main source file 2019-12-18 18:02:57 +01:00
Martin Hořeňovský 68cf4ca883
Add back coverage CMake option 2019-12-18 17:31:10 +01:00
Martin Hořeňovský 9c07e2a416
Add test for tag aliases 2019-12-18 17:30:41 +01:00
Martin Hořeňovský a4c31ecd16
Small CMakeLists cleanup 2019-12-18 17:30:08 +01:00
Martin Hořeňovský 1cc05122d7
Add Catch2Main CMake target that contains test main 2019-12-18 17:25:04 +01:00
Martin Hořeňovský add7068f21
Fixup installation 2019-12-16 22:33:56 +01:00
Martin Hořeňovský ebeeaaeec6
Reenable appveyor for CI 2019-12-16 00:15:30 +01:00
Martin Hořeňovský 69bd213c40
Reenable travis for CI 2019-12-16 00:15:10 +01:00
Martin Hořeňovský 5fbf04cd59
Redo how the separate compilation tests are handled 2019-12-15 20:33:39 +01:00
Martin Hořeňovský 8b42acc328
Reintegrate extra tests 2019-12-09 10:04:26 +01:00
Martin Hořeňovský 29b441949c
Port the last example 2019-12-08 20:58:52 +01:00
Martin Hořeňovský 70ef2f7f12
Update building of examples for static lib 2019-12-08 15:55:04 +01:00
Martin Hořeňovský 248f922465
Cleanup impl and main from the main header 2019-12-08 11:31:47 +01:00
Martin Hořeňovský 91ee07e08c
Moved scripts/ to tools/scripts/ 2019-12-06 11:53:31 +01:00
Martin Hořeňovský 6eb04667ad
Move misc/ to tools/misc 2019-12-06 11:40:53 +01:00
Martin Hořeňovský 604ededf77
Move artwork/ to data/artwork/ 2019-12-06 11:36:12 +01:00
Martin Hořeňovský 918aa327fa
Rename contrib/ to extras/ 2019-12-05 16:24:57 +01:00