fix(ci): run Qt tests headless in Docker/CI

Use QCoreApplication for the race test, set QT_QPA_PLATFORM=offscreen
and QT_MEDIA_BACKEND=ffmpeg for playback tests, and export the same vars
in CI before ctest to avoid subprocess aborts without a display.
This commit is contained in:
Sebastian Palencsar
2026-06-21 08:56:03 +02:00
parent f4b3109c32
commit 722f417c53
4 changed files with 28 additions and 5 deletions

View File

@@ -1,5 +1,10 @@
find_package(Qt6 REQUIRED COMPONENTS Test)
set(BEARWAVE_TEST_ENV
QT_QPA_PLATFORM=offscreen
QT_MEDIA_BACKEND=ffmpeg
)
set(TEST_SOURCES
radiobackend_playback_test.cpp
${CMAKE_CURRENT_SOURCE_DIR}/../src/radiobackend.cpp
@@ -25,6 +30,7 @@ target_link_libraries(radiobackend_playback_test PRIVATE
)
add_test(NAME radiobackend_playback_test COMMAND radiobackend_playback_test)
set_tests_properties(radiobackend_playback_test PROPERTIES ENVIRONMENT "${BEARWAVE_TEST_ENV}")
set(RACE_TEST_SOURCES
radiobrowser_race_test.cpp
@@ -42,7 +48,7 @@ target_link_libraries(radiobrowser_race_test PRIVATE
Qt6::Core
Qt6::Network
Qt6::Test
Qt6::Widgets
)
add_test(NAME radiobrowser_race_test COMMAND radiobrowser_race_test)
add_test(NAME radiobrowser_race_test COMMAND radiobrowser_race_test)
set_tests_properties(radiobrowser_race_test PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=offscreen")