diff --git a/debian/changelog b/debian/changelog index 2d99448..952275a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Thu, 13 Nov 2025 23:01:28 +0100 diff --git a/debian/tests/CMakeLists.txt b/debian/tests/CMakeLists.txt index 3dd12c6..3a99eda 100644 --- a/debian/tests/CMakeLists.txt +++ b/debian/tests/CMakeLists.txt @@ -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) diff --git a/debian/tests/upstream-tests b/debian/tests/upstream-tests index cec38c9..b442afb 100644 --- a/debian/tests/upstream-tests +++ b/debian/tests/upstream-tests @@ -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