From a7e66b6d3519d104dc853de404267a65c82c17e4 Mon Sep 17 00:00:00 2001 From: Sangwan Kwon Date: Wed, 22 Apr 2020 15:21:58 +0900 Subject: [PATCH] Enable TC coverage Change-Id: Iee99afd72e78b4523d537da6fed0bcb41bc853d1 Signed-off-by: Sangwan Kwon --- CMakeLists.txt | 4 ++++ packaging/trust-anchor.spec | 10 +++++++++- src/init-lib.cpp | 4 ++++ tests/main.cpp | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a142ed..fd01c82 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,10 @@ SET(TANCHOR_SRC ${PROJECT_SOURCE_DIR}/src) SET(TARGET_TANCHOR_LIB ${LIB_NAME}) SET(TARGET_TANCHOR_TEST ${LIB_NAME}-test) +IF (BUILD_GCOV) + ADD_DEFINITIONS("-DTIZEN_TEST_GCOV") +ENDIF (BUILD_GCOV) + ADD_DEFINITIONS("-DTANCHOR_PKG_DIR=\"${TANCHOR_PKG}\"") ADD_DEFINITIONS("-DTANCHOR_TEST_DIR=\"${TANCHOR_TEST}\"") ADD_DEFINITIONS("-DTANCHOR_BUNDLE=\"${TANCHOR_BUNDLE}\"") diff --git a/packaging/trust-anchor.spec b/packaging/trust-anchor.spec index 31a5b50..282280f 100644 --- a/packaging/trust-anchor.spec +++ b/packaging/trust-anchor.spec @@ -57,6 +57,13 @@ SSL root certificates for its HTTPS communication. CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE" %endif +%if 0%{?gcov:1} +export CFLAGS+=" -fprofile-arcs -ftest-coverage" +export CXXFLAGS+=" -fprofile-arcs -ftest-coverage" +export FFLAGS+=" -fprofile-arcs -ftest-coverage" +export LDFLAGS+=" -lgcov" +%endif + %cmake . -DCMAKE_BUILD_TYPE=%{build_type} \ -DLIB_NAME=%{lib_name} \ -DLIB_VERSION=%{version} \ @@ -74,7 +81,8 @@ SSL root certificates for its HTTPS communication. -DTZ_SYS_CA_CERTS=%{TZ_SYS_CA_CERTS} \ -DTZ_SYS_CA_BUNDLE=%{TZ_SYS_CA_BUNDLE} \ -DTZ_SYS_RO_CA_CERTS=%{TZ_SYS_RO_CA_CERTS} \ - -DTZ_SYS_RO_CA_BUNDLE=%{TZ_SYS_RO_CA_BUNDLE} + -DTZ_SYS_RO_CA_BUNDLE=%{TZ_SYS_RO_CA_BUNDLE} \ + -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} make %{?_smp_mflags} diff --git a/src/init-lib.cpp b/src/init-lib.cpp index 9fdc2cd..22485db 100644 --- a/src/init-lib.cpp +++ b/src/init-lib.cpp @@ -32,6 +32,10 @@ class InitLib { public: InitLib() { +#ifdef TIZEN_TEST_GCOV + ::setenv("GCOV_PREFIX", "/tmp", 1); +#endif + this->m_sink.reset(new audit::DlogLogSink("TRUST_ANCHOR")); }; ~InitLib() = default; diff --git a/tests/main.cpp b/tests/main.cpp index 1eb6dd6..d74081c 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -26,6 +26,10 @@ int main(int /*argc*/, char** /*argv*/) { +#ifdef TIZEN_TEST_GCOV + ::setenv("GCOV_PREFIX", "/tmp", 1); +#endif + curl_global_init(CURL_GLOBAL_DEFAULT); testbench::Testbench::runAllTestSuites(); -- 2.34.1