games-emulation/libretro-dolphin: bring back tests

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
Pavel Sobolev
2026-05-17 22:28:59 +03:00
parent 09cc0b8b8a
commit 44df4ca49a
2 changed files with 48 additions and 2 deletions

View File

@@ -0,0 +1,39 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Allow running tests.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,8 +321,10 @@ else()
check_and_add_flag(NO_STRICT_ALIASING -fno-strict-aliasing)
check_and_add_flag(NO_EXCEPTIONS -fno-exceptions)
- check_and_add_flag(VISIBILITY_INLINES_HIDDEN -fvisibility-inlines-hidden)
- check_and_add_flag(VISIBILITY_HIDDEN -fvisibility=hidden)
+ if(NOT ENABLE_TESTS)
+ check_and_add_flag(VISIBILITY_INLINES_HIDDEN -fvisibility-inlines-hidden)
+ check_and_add_flag(VISIBILITY_HIDDEN -fvisibility=hidden)
+ endif()
check_and_add_flag(FOMIT_FRAME_POINTER -fomit-frame-pointer NO_DEBINFO_ONLY)
@@ -493,7 +495,6 @@ if(LIBRETRO)
set(ENCODE_FRAMEDUMPS OFF CACHE BOOL "" FORCE)
set(ENABLE_LLVM OFF CACHE BOOL "" FORCE)
set(ENABLE_NOGUI OFF CACHE BOOL "" FORCE)
- set(ENABLE_TESTS OFF CACHE BOOL "" FORCE)
set(ENABLE_QT OFF CACHE BOOL "" FORCE)
set(ENABLE_PULSEAUDIO OFF CACHE BOOL "" FORCE)
set(ENABLE_SDL OFF CACHE BOOL "" FORCE)
--- a/Source/UnitTests/CMakeLists.txt
+++ b/Source/UnitTests/CMakeLists.txt
@@ -6,7 +6,7 @@ string(APPEND CMAKE_RUNTIME_OUTPUT_DIRECTORY "/Tests")
add_executable(tests EXCLUDE_FROM_ALL UnitTestsMain.cpp StubHost.cpp)
set_target_properties(tests PROPERTIES FOLDER Tests)
-target_link_libraries(tests PRIVATE fmt::fmt gtest::gtest core uicommon)
+target_link_libraries(tests PUBLIC PRIVATE fmt::fmt gtest::gtest core dolphin_libretro uicommon)
add_test(NAME tests COMMAND tests)
add_custom_command(TARGET tests POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"

View File

@@ -32,8 +32,8 @@ S="${WORKDIR}/dolphin-${LIBRETRO_COMMIT_SHA}"
LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="bluetooth egl +evdev log"
RESTRICT="test" # Upstream disables tests for Libretro
IUSE="bluetooth egl +evdev log test"
RESTRICT="!test? ( test )"
RDEPEND="
app-arch/bzip2:=
@@ -76,9 +76,11 @@ DEPEND="
"
BDEPEND="
virtual/pkgconfig
test? ( dev-cpp/gtest )
"
PATCHES=(
"${FILESDIR}/${PN}-0.0.1_pre20260409-allow-running-tests.patch"
"${FILESDIR}/${PN}-0.0.1_pre20260409-use-more-system-libraries.patch"
)
@@ -135,6 +137,7 @@ src_configure() {
-DENABLE_EVDEV=$(usex evdev)
-DENABLE_LTO=no # just adds -flto, user can do that via flags
-DENABLE_NOGUI=no
-DENABLE_TESTS=$(usex test)
-DFASTLOG=$(usex log)
# Undo cmake.eclass's defaults.
@@ -155,6 +158,10 @@ src_compile() {
cmake_src_compile
}
src_test() {
cmake_build unittests
}
src_install() {
# TODO libretro-core.eclass does not support EAPI-8 #966155