Add support for unit testing

* Downgraded macOS CI to Qt 6.2.0 due to a bug in Qt Test module
* Revised cmake build scripts
* For now, only building via cmake is supported

PR #17338.
This commit is contained in:
Chocobo1 2022-07-10 13:20:27 +08:00 committed by GitHub
commit 03da68b1cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 311 additions and 206 deletions

19
test/CMakeLists.txt Normal file
View file

@ -0,0 +1,19 @@
if (QT6)
find_package(Qt6 REQUIRED COMPONENTS Test)
else()
find_package(Qt5 REQUIRED COMPONENTS Test)
endif()
enable_testing(true)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure)
include_directories("../src")
file(GLOB testFiles "${CMAKE_CURRENT_SOURCE_DIR}/test*.cpp")
foreach(testFile ${testFiles})
get_filename_component(testFilename "${testFile}" NAME_WLE)
add_executable("${testFilename}" "${testFile}")
target_link_libraries("${testFilename}" PRIVATE Qt::Test qbt_base)
add_test(NAME "${testFilename}" COMMAND "${testFilename}")
endforeach()