Commit Graph

3810 Commits

Author SHA1 Message Date
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
Martin Hořeňovský
0fea081ad1
Move tests from projects/ to tests/ 2019-12-05 16:00:20 +01:00
Martin Hořeňovský
90e2549cec
Rewrite includes in tests to use library's include paths 2019-12-02 12:23:10 +01:00
Martin Hořeňovský
82cc5bc034
Rewrite includes inside the library to use <catch2/> form 2019-12-02 12:04:55 +01:00
Martin Hořeňovský
fef4f217b1
Unit tests build and run (todo: projects, includes, extras) 2019-11-30 20:45:34 +01:00
Martin Hořeňovský
e341b11467
WIP: CMake changes to build static lib + tests separately 2019-11-30 17:41:41 +01:00
Martin Hořeňovský
443fa0fc88
Fixing paths in SelfTest 2019-11-30 17:41:17 +01:00
Martin Hořeňovský
4385951a55
Move files into catch2/ subdir 2019-11-30 17:30:32 +01:00
Martin Hořeňovský
7c6de33977
Fixed up include paths 2019-11-30 17:13:22 +01:00
Martin Hořeňovský
e1a43b5b0f Move files from internal/ up a level 2019-11-30 12:23:37 +01:00
Martin Hořeňovský
8e56b8b0ec Rename include/ to src/ 2019-11-30 12:17:16 +01:00
Martin Hořeňovský
6923a168a1
Remove unused header 2019-11-28 13:23:48 +01:00
Martin Hořeňovský
c9067b2253
Refactor SectionInfo constructors 2019-11-16 21:53:32 +01:00
Martin Hořeňovský
d36c15c3ca
Store tags in one big pre-allocated string and only work with refs
This should decrease the number of allocations before main is entered
significantly, but complicates the code somewhat in return.

Assuming I used `massif` right, doing just `SelfTest --list-tests`
went from 929 allocations at "Remove gcc-4.9 from the travis builds"
(2 commits up), to 614 allocations with this commit.
2019-11-14 10:53:12 +01:00
Martin Hořeňovský
302e2c0b06
Do not copy around TestCaseInfo
Now a `TEST_CASE` macro should create a single TestCaseInfo and then
it should never be copied around. This, together with latter changes,
should significantly decrease the number of allocations made before
`main` is even entered.
2019-11-14 10:52:34 +01:00
Martin Hořeňovský
019b0a0fe0
Use Python3.5 (well, PIP) on AppVeyor to solve deprecation warnings 2019-11-13 20:59:19 +01:00
Martin Hořeňovský
9ff2b81164
Remove gcc-4.9 from the travis builds
According to CMake, it does not support templated variables. Strictly
speaking, we added that to the target so that the project defaults
to C++14, but I am planning to use them inside Catch2 anyway.
2019-11-07 15:58:37 +01:00
Martin Hořeňovský
d6f7f1fbed
Set CMakeLists to default to C++14 for our internal projects 2019-11-07 13:02:43 +01:00
Martin Hořeňovský
6ddd84a67a
Re-inline NameAndTags constructor 2019-11-07 12:45:16 +01:00