Commit Graph

3155 Commits

Author SHA1 Message Date
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
Martin Hořeňovský 09b66ccfde
Remove unused method on TestCase 2019-11-05 10:45:59 +01:00
Martin Hořeňovský d1cb727e85
Remove workaround for GCC 4.8, as it is no longer supported
Closes #1442
2019-11-05 10:45:57 +01:00
Martin Hořeňovský e6b9b854b5
Change how and when anonymous test cases are named 2019-11-04 13:45:39 +01:00
Martin Hořeňovský 478c324534
Redo AppVeyor build matrix
Added VS 2019 builds, C++17/C++20 builds and performed some general
cleanup.
2019-11-04 13:12:59 +01:00
Martin Hořeňovský eabb8a6af7
Cleanup tests for C++20 2019-11-04 13:08:10 +01:00