port testsuite to gtest

This commit is contained in:
Carl Keinath 2025-11-15 14:31:11 +01:00
parent ebc1f4a58d
commit da35ea3e72
No known key found for this signature in database
GPG Key ID: 5F2FBF98CDE7C693
3 changed files with 26 additions and 66 deletions

1
debian/changelog vendored
View File

@ -3,6 +3,7 @@ hyprutils (0.10.2-0.1) UNRELEASED; urgency=medium
* Non-maintainer upload
* New upstream release (Closes: #1120292)
* d/control: add libgtest-dev to build-deps
* d/tests: port testsuite to gTest
-- Carl Keinath <carl.keinath@gmail.com> Thu, 13 Nov 2025 23:01:28 +0100

View File

@ -1,74 +1,32 @@
cmake_minimum_required(VERSION 3.19)
project(hyprutils)
include(CTest)
set(CMAKE_CXX_STANDARD 23)
add_compile_options(
-Wall
-Wextra
-Wpedantic
-Wno-unused-parameter
-Wno-unused-value
-Wno-missing-field-initializers
-Wno-narrowing
-Wno-pointer-arith
)
project(hyprutils_tests LANGUAGES CXX)
enable_testing()
set(CMAKE_CXX_STANDARD 23)
add_compile_options(
-Wall
-Wextra
-Wpedantic
-Wno-unused-parameter
-Wno-unused-value
-Wno-missing-field-initializers
-Wno-narrowing
-Wno-pointer-arith)
find_package(PkgConfig REQUIRED)
find_package(GTest REQUIRED)
pkg_check_modules(HYPRUTILS REQUIRED hyprutils)
pkg_check_modules(deps REQUIRED IMPORTED_TARGET pixman-1)
find_library(HYPRUTILS_LIB hyprutils REQUIRED)
file(GLOB_RECURSE SRCFILES "src/*.cpp" "include/*.hpp")
add_executable(hyprutils_inline_tests ${SRCFILES})
target_compile_definitions(hyprutils_inline_tests PRIVATE HU_UNIT_TESTS=1)
add_executable(hyprutils_memory "tests/memory.cpp")
target_link_libraries(hyprutils_memory PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "Memory"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_memory "memory")
add_executable(hyprutils_string "tests/string.cpp")
target_link_libraries(hyprutils_string PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "String"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_string "string")
add_executable(hyprutils_signal "tests/signal.cpp")
target_link_libraries(hyprutils_signal PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "Signal"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_signal "signal")
add_executable(hyprutils_math "tests/math.cpp")
target_link_libraries(hyprutils_math PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "Math"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_math "math")
add_executable(hyprutils_os "tests/os.cpp")
target_link_libraries(hyprutils_os PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "OS"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_os "os")
add_executable(hyprutils_filedescriptor "tests/filedescriptor.cpp")
target_link_libraries(hyprutils_filedescriptor PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "Filedescriptor"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_filedescriptor "filedescriptor")
add_executable(hyprutils_animation "tests/animation.cpp")
target_link_libraries(hyprutils_animation PRIVATE ${HYPRUTILS_LIB} PkgConfig::deps)
add_test(
NAME "Animation"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
COMMAND hyprutils_animation "utils")
target_include_directories(hyprutils_inline_tests PRIVATE ../include)
target_link_libraries(hyprutils_inline_tests PRIVATE ${HYPRUTILS_LIBRARIES}
GTest::gtest_main
PkgConfig::deps)
gtest_discover_tests(hyprutils_inline_tests)

View File

@ -3,7 +3,8 @@
set -eu
mkdir -p "$AUTOPKGTEST_TMP"
cp -r tests "$AUTOPKGTEST_TMP"/tests
cp -r src "$AUTOPKGTEST_TMP"/src
cp -r include "$AUTOPKGTEST_TMP"/include
cp debian/tests/CMakeLists.txt "$AUTOPKGTEST_TMP"/CMakeLists.txt
mkdir -p "$AUTOPKGTEST_TMP"/build
@ -11,4 +12,4 @@ cd "$AUTOPKGTEST_TMP"/build
cmake ..
cmake --build .
ctest --output-on-failure
ctest