commit: f91d23ad945f835be7f9259808e90f33b7aba336
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 24 02:18:01 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 24 02:18:25 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f91d23ad
dev-libs/metee: wire up tests
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../metee/files/metee-5.0.0-system-gtest.patch | 42 ++++++++++++++++++++++
dev-libs/metee/metee-5.0.0.ebuild | 38 +++++++++++++++++---
2 files changed, 75 insertions(+), 5 deletions(-)
diff --git a/dev-libs/metee/files/metee-5.0.0-system-gtest.patch
b/dev-libs/metee/files/metee-5.0.0-system-gtest.patch
new file mode 100644
index 000000000000..f0129aa2b19a
--- /dev/null
+++ b/dev-libs/metee/files/metee-5.0.0-system-gtest.patch
@@ -0,0 +1,42 @@
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 4344119..665dd4b 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -3,12 +3,9 @@
+ cmake_minimum_required(VERSION 3.15)
+ project(metee_test)
+
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+
+-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/googletest-src)
+- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/googletest-src
+- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
+- )
++if(TRUE)
+ else(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/googletest-src)
+ # Download and unpack googletest at configure time
+ configure_file(gtest.cmake.in googletest-download/CMakeLists.txt)
+@@ -36,13 +33,6 @@ set(gtest_force_shared_crt
+ CACHE BOOL "" FORCE
+ )
+
+-# Add googletest directly to our build. This defines the gtest and gtest_main
+-# targets.
+-add_subdirectory(
+- ${CMAKE_CURRENT_BINARY_DIR}/googletest-src
+- ${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL
+-)
+-
+ add_executable(${PROJECT_NAME}
+ Main.cpp
+ metee_test.cpp
+@@ -53,7 +43,7 @@ if(NOT CONSOLE_OUTPUT)
+ target_compile_definitions(${PROJECT_NAME} PRIVATE -DSYSLOG)
+ endif()
+
+-target_link_libraries(${PROJECT_NAME} metee gtest_main gmock_main)
++target_link_libraries(${PROJECT_NAME} metee gtest gmock)
+
+ target_include_directories(${PROJECT_NAME}
+ PRIVATE ${CMAKE_SOURCE_DIR}/src/Windows
diff --git a/dev-libs/metee/metee-5.0.0.ebuild
b/dev-libs/metee/metee-5.0.0.ebuild
index bbbb7e70f0fe..435523682a22 100644
--- a/dev-libs/metee/metee-5.0.0.ebuild
+++ b/dev-libs/metee/metee-5.0.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake edo
DESCRIPTION="Cross-platform access library for Intel CSME HECI interface"
HOMEPAGE="https://github.com/intel/metee"
@@ -12,12 +12,19 @@
SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.t
LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="~amd64"
-IUSE="doc"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-text/doxygen )"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.0.0-system-gtest.patch
+)
src_prepare() {
- default
cmake_src_prepare
# Respect users CFLAGS
@@ -29,9 +36,30 @@ src_configure() {
-DBUILD_DOCS="$(usex doc)"
-DBUILD_SAMPLES="NO"
-DBUILD_SHARED_LIBS="YES"
- -DBUILD_TEST="NO"
+ -DBUILD_TEST="$(usex test)"
-DCONSOLE_OUTPUT="NO"
)
cmake_src_configure
}
+
+src_test() {
+ local skip_tests=(
+ MeTeeTESTInstance/MeTeeTEST.PROD_N_TestGetMeiKind/PCH
+ MeTeePPTESTInstance/MeTeePPTEST.PROD_MKHI_MoveSemantics/PCH
+ )
+
+ # The format for disabling test1, test2, and test3 looks like:
+ # -test1:test2:test3
+ edo "${BUILD_DIR}"/tests/metee_test \
+ --gtest_filter=-$(echo $(IFS=:; echo "${skip_tests[*]}"))
+}
+
+src_install() {
+ cmake_src_install
+
+ # Don't install test binary
+ if use test ; then
+ rm "${ED}"/usr/bin/metee_test || die
+ fi
+}