diff options
author | Carbenium <carbenium@outlook.com> | 2020-07-22 20:27:54 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-23 22:48:35 +0100 |
commit | f837f28171970b56781a57b5dc503e6067abecd2 (patch) | |
tree | 77612e6204d75908228bff2915e42771880855fd /tests | |
parent | e8583d04f6a7744bd3576c3241873a8ad33f4f7a (diff) |
dep: Add catch2 unit test framework and wire it up
To enable the test suite, make sure to configure CMake with -DBUILD_TESTING=1 , since it is disabled by default. The catch2 dependency will be downloaded during configure time.
Also add a new target "tests-common", which includes unit tests for the "common" project. To finally run the tests use the "test" target.
CircleCI: Run unit tests
(cherry picked from commit 6a28ee7b2a4269aa7e43265d1cd0067537e3e883)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/CMakeLists.txt | 23 | ||||
-rw-r--r-- | tests/common/test-main.cpp | 20 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 00000000000..fdbfe689fc2 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,23 @@ +# This file is part of the TrinityCore Project. See AUTHORS file for Copyright information +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +CollectSourceFiles( + ${CMAKE_CURRENT_SOURCE_DIR}/common + COMMON_SOURCES +) + +add_executable(tests-common ${COMMON_SOURCES}) + +target_link_libraries(tests-common + PRIVATE + common + Catch2::Catch2) + +catch_discover_tests(tests-common) diff --git a/tests/common/test-main.cpp b/tests/common/test-main.cpp new file mode 100644 index 00000000000..8ed9dd5863b --- /dev/null +++ b/tests/common/test-main.cpp @@ -0,0 +1,20 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +#define CATCH_CONFIG_MAIN +#include "catch2/catch.hpp" |