Enable TC coverage 86/231486/1
authorSangwan Kwon <sangwan.kwon@samsung.com>
Wed, 22 Apr 2020 06:21:58 +0000 (15:21 +0900)
committerSangwan Kwon <sangwan.kwon@samsung.com>
Wed, 22 Apr 2020 06:38:06 +0000 (15:38 +0900)
Change-Id: Iee99afd72e78b4523d537da6fed0bcb41bc853d1
Signed-off-by: Sangwan Kwon <sangwan.kwon@samsung.com>
CMakeLists.txt
packaging/trust-anchor.spec
src/init-lib.cpp
tests/main.cpp

index 8a142edc3d7313d32f3ec03745323ce657c86241..fd01c825ca7648024cd3d3f6e7f47841805f96bc 100644 (file)
@@ -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}\"")
index 31a5b50738caaacf05bd3bfd47cb81deecaf18e2..282280fcfd28d50fe12cf0e89823288f67b889a4 100644 (file)
@@ -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}
 
index 9fdc2cdd78f1f11e7d997bba8f16e85e24299596..22485dbe9880719219b5e27ab2f87ba6c538d626 100644 (file)
@@ -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;
index 1eb6dd6a78c9ed0e674f83040c2b848806c76dbb..d74081cd9412486fb73f55a761b28b9c4ba0e9d8 100644 (file)
 
 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();