From: Duna Oh Date: Fri, 17 Sep 2021 07:35:16 +0000 (+0900) Subject: spec file :add gcov option for checking code coverage X-Git-Tag: submit/tizen/20210923.034212^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20154e16857b48f846bd02bb225af973fb8f9292;p=platform%2Fcore%2Fuifw%2Fmmi-manager.git spec file :add gcov option for checking code coverage Change-Id: Idddb442dd4ea572add7a89923c34cf2ab30a2119 --- diff --git a/packaging/mmi-manager.spec b/packaging/mmi-manager.spec index a60ac5d..1f3c74c 100644 --- a/packaging/mmi-manager.spec +++ b/packaging/mmi-manager.spec @@ -49,6 +49,9 @@ cp %{SOURCE1004} . #cp -af mmifw_stub.* ./src/mmimgr/interface/ %build +CFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV" +CXXFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV" +LDFLAGS+=" -lgcov" meson setup --prefix=/usr \ --bindir %{_bindir} \ --libdir %{_libdir} \ diff --git a/tests/iu/main.cpp b/tests/iu/main.cpp index a37d671..fdd74b1 100644 --- a/tests/iu/main.cpp +++ b/tests/iu/main.cpp @@ -1,7 +1,39 @@ -#include #include +#define PRINT printf + +#ifdef TIZEN_TEST_GCOV +extern "C" void __gcov_flush(void); +#endif + int main(int argc, char** argv) { - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); + auto testResults = false; +#ifdef TIZEN_TEST_GCOV + setenv("GCOV_PREFIX", "/tmp", 1); +#endif + try + { + testing::InitGoogleMock(&argc, argv); + testing::FLAGS_gtest_death_test_style = "fast"; + } + catch ( ... ) + { + PRINT("Error occurred while trying to initialize GoogleTest.\n"); + exit(EXIT_FAILURE); + } + + try + { + testResults = (RUN_ALL_TESTS() == 0) ? true : false; + } + catch (const ::testing::internal::GoogleTestFailureException &e) + { + testResults = false; + PRINT("GoogleTestFailureException has been thrown: %s\n", e.what()); + } + +#ifdef TIZEN_TEST_GCOV + __gcov_flush(); +#endif + return testResults; } diff --git a/tests/keyboard-provider/main.cpp b/tests/keyboard-provider/main.cpp index 960d73c..3187c80 100644 --- a/tests/keyboard-provider/main.cpp +++ b/tests/keyboard-provider/main.cpp @@ -27,6 +27,9 @@ int main(int argc, char **argv) { auto testResults = false; +#ifdef TIZEN_TEST_GCOV + setenv("GCOV_PREFIX", "/tmp", 1); +#endif try { ::testing::InitGoogleMock(&argc, argv); @@ -48,6 +51,9 @@ int main(int argc, char **argv) PRINT("GoogleTestFailureException has been thrown: %s\n", e.what()); } +#ifdef TIZEN_TEST_GCOV + __gcov_flush(); +#endif return testResults; } diff --git a/tests/keyboard-provider/main.h b/tests/keyboard-provider/main.h index 79bfac7..8342dbd 100644 --- a/tests/keyboard-provider/main.h +++ b/tests/keyboard-provider/main.h @@ -30,6 +30,10 @@ #define PRINT printf +#ifdef TIZEN_TEST_GCOV +extern "C" void __gcov_flush(void); +#endif + using ::testing::TestWithParam; using ::testing::Bool; using ::testing::Values; diff --git a/tests/mmi-manager-tests.cpp b/tests/mmi-manager-tests.cpp index 8d83cd7..eed785f 100644 --- a/tests/mmi-manager-tests.cpp +++ b/tests/mmi-manager-tests.cpp @@ -27,6 +27,9 @@ int main(int argc, char **argv) { auto testResults = false; +#ifdef TIZEN_TEST_GCOV + setenv("GCOV_PREFIX", "/tmp", 1); +#endif try { ::testing::InitGoogleMock(&argc, argv); @@ -48,6 +51,9 @@ int main(int argc, char **argv) PRINT("GoogleTestFailureException has been thrown: %s\n", e.what()); } +#ifdef TIZEN_TEST_GCOV + __gcov_flush(); +#endif return testResults; } diff --git a/tests/mmi-manager-tests.h b/tests/mmi-manager-tests.h index 5f3bf67..4034144 100644 --- a/tests/mmi-manager-tests.h +++ b/tests/mmi-manager-tests.h @@ -30,6 +30,9 @@ #define PRINT printf +#ifdef TIZEN_TEST_GCOV +extern "C" void __gcov_flush(void); +#endif extern void wait_for_dispatch(); using ::testing::TestWithParam; diff --git a/tests/ref-fusion/main.cpp b/tests/ref-fusion/main.cpp index 960d73c..3187c80 100644 --- a/tests/ref-fusion/main.cpp +++ b/tests/ref-fusion/main.cpp @@ -27,6 +27,9 @@ int main(int argc, char **argv) { auto testResults = false; +#ifdef TIZEN_TEST_GCOV + setenv("GCOV_PREFIX", "/tmp", 1); +#endif try { ::testing::InitGoogleMock(&argc, argv); @@ -48,6 +51,9 @@ int main(int argc, char **argv) PRINT("GoogleTestFailureException has been thrown: %s\n", e.what()); } +#ifdef TIZEN_TEST_GCOV + __gcov_flush(); +#endif return testResults; } diff --git a/tests/ref-fusion/main.h b/tests/ref-fusion/main.h index e75fbbe..9a9fcc6 100644 --- a/tests/ref-fusion/main.h +++ b/tests/ref-fusion/main.h @@ -30,6 +30,10 @@ #define PRINT printf +#ifdef TIZEN_TEST_GCOV +extern "C" void __gcov_flush(void); +#endif + using ::testing::TestWithParam; using ::testing::Bool; using ::testing::Values;