Adding Catch2 unit testing framework. Init characteristics serializer tests.

This commit is contained in:
Pcornat 2022-01-14 23:36:38 +01:00
parent 8117dc357f
commit a5ce3c378f
Signed by: Pcornat
GPG Key ID: 2F3932FF46D9ECA0
6 changed files with 75 additions and 0 deletions

3
.gitmodules vendored
View File

@ -7,3 +7,6 @@
[submodule "external/json"] [submodule "external/json"]
path = external/json path = external/json
url = https://github.com/nlohmann/json.git url = https://github.com/nlohmann/json.git
[submodule "external/catch2"]
path = external/catch2
url = https://github.com/catchorg/Catch2.git

View File

@ -82,6 +82,12 @@ add_subdirectory(external/spdlog)
set(JSON_BuildTests OFF CACHE INTERNAL "") set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory(external/json) add_subdirectory(external/json)
option(CATCH_INSTALL_DOCS "Install documentation alongside library" OFF)
option(CATCH_INSTALL_EXTRAS "Install extras alongside library" OFF)
add_subdirectory(external/catch2)
add_subdirectory("Unit testing")
set(COMPILE_FLAGS set(COMPILE_FLAGS
-pipe -pipe
-march=skylake # change to native or your architecture. -march=skylake # change to native or your architecture.

View File

@ -0,0 +1,46 @@
cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(UnitTest CXX)
set(COMPILE_FLAGS
-pipe
-march=skylake # change to native or your architecture.
-mtune=skylake # same as above
-mrdseed # be careful about this, this is linked to the x86 architecture.
-mrdrnd # same as above
-Wall
-Wextra
-Wpedantic
# -Wpadded
-pedantic
-ffunction-sections
-fdata-sections
-fuse-ld=gold
-funroll-loops
-fdevirtualize-at-ltrans
-fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free
)
set(LINKER_OPTIONS
-Wl,--sort-common,--as-needed,--gc-sections,--strip-all
-fuse-ld=gold
-fdevirtualize-at-ltrans
)
set(LINKER_FLAGS
jemalloc
)
add_executable(UnitTest adummy.cpp characteristics_tests.cpp)
set_target_properties(Catch2 UnitTest PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
INTERPROCEDURAL_OPTIMIZATION ON
UNITY_BUILD ON)
target_include_directories(UnitTest PRIVATE ${CMAKE_SOURCE_DIR}/include)
target_compile_definitions(UnitTest PRIVATE ${DEF_COMP})
target_compile_options(UnitTest PRIVATE ${COMPILE_FLAGS})
target_link_options(UnitTest PRIVATE ${LINKER_OPTIONS})
target_link_libraries(UnitTest ${LINKER_FLAGS} Catch2 nlohmann_json::nlohmann_json)

2
Unit testing/adummy.cpp Normal file
View File

@ -0,0 +1,2 @@
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>

View File

@ -0,0 +1,17 @@
#include <catch2/catch.hpp>
TEST_CASE("Serialize adresse", "[serialize][0]") {
}
TEST_CASE("Serialize chance", "[serialize][1]") {
}
TEST_CASE("Serialize endurance", "[serialize][2]") {
}
TEST_CASE("Serialize habilete", "[serialize][3]") {
}

1
external/catch2 vendored Submodule

@ -0,0 +1 @@
Subproject commit 216713a4066b79d9803d374f261ccb30c0fb451f