Merge lp:~dobey/indicator-transfer/fix-coverage into lp:indicator-transfer

Proposed by dobey
Status: Merged
Approved by: Pete Woods
Approved revision: 49
Merged at revision: 50
Proposed branch: lp:~dobey/indicator-transfer/fix-coverage
Merge into: lp:indicator-transfer
Prerequisite: lp:~dobey/indicator-transfer/new-gmock
Diff against target: 137 lines (+15/-65)
4 files modified
CMakeLists.txt (+10/-9)
cmake/GCov.cmake (+0/-51)
src/CMakeLists.txt (+3/-3)
src/dm-plugin/CMakeLists.txt (+2/-2)
To merge this branch: bzr merge lp:~dobey/indicator-transfer/fix-coverage
Reviewer Review Type Date Requested Status
Charles Kerr (community) Approve
Pete Woods (community) Approve
unity-api-1-bot continuous-integration Approve
Review via email: mp+312401@code.launchpad.net

Commit message

Use cmake-extras EnableCoverageReport instead of custom code for coverage.

To post a comment you must log in.
Revision history for this message
unity-api-1-bot (unity-api-1-bot) wrote :

PASSED: Continuous integration, rev:49
https://jenkins.canonical.com/unity-api-1/job/lp-indicator-transfer-ci/11/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build/1228
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-0-fetch/1235
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1018/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=zesty/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=zesty/1018/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1018/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=zesty/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=zesty/1018/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/1018/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=zesty/1018
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=zesty/1018/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/unity-api-1/job/lp-indicator-transfer-ci/11/rebuild

review: Approve (continuous-integration)
Revision history for this message
Pete Woods (pete-woods) :
review: Approve
Revision history for this message
Charles Kerr (charlesk) wrote :

Looks great.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2015-09-23 13:47:10 +0000
3+++ CMakeLists.txt 2016-12-02 21:27:54 +0000
4@@ -73,22 +73,23 @@
5 include_directories (${CMAKE_CURRENT_SOURCE_DIR}/include)
6 include_directories (${CMAKE_CURRENT_BINARY_DIR}/include)
7
8-# testing & coverage
9-if (${enable_tests})
10- pkg_check_modules (DBUSTEST REQUIRED dbustest-1>=14.04.0)
11- enable_testing ()
12- if (${enable_lcov})
13- include(GCov)
14- endif ()
15-endif ()
16-
17 # add the subdirs
18 add_subdirectory(data)
19 add_subdirectory(include)
20 add_subdirectory(src)
21 add_subdirectory(po)
22+
23+# testing & coverage
24 if (${enable_tests})
25+ pkg_check_modules (DBUSTEST REQUIRED dbustest-1>=14.04.0)
26+ enable_testing ()
27 add_subdirectory(tests)
28+ include(EnableCoverageReport)
29+ ENABLE_COVERAGE_REPORT(
30+ TARGETS indicator-transfer indicator-transfer-service dmtransfers mock-source-plugin
31+ TESTS test-controller test-multisource test-plugin-source test-view-gmenu
32+ FILTER /usr/include ${CMAKE_BINARY_DIR}/*
33+ )
34 endif ()
35
36 # uninstall target
37
38=== removed file 'cmake/GCov.cmake'
39--- cmake/GCov.cmake 2014-03-29 17:17:09 +0000
40+++ cmake/GCov.cmake 1970-01-01 00:00:00 +0000
41@@ -1,51 +0,0 @@
42-if (CMAKE_BUILD_TYPE MATCHES coverage)
43- set(GCOV_FLAGS "${GCOV_FLAGS} --coverage")
44- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCOV_FLAGS}")
45- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${GCOV_FLAGS}")
46- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${GCOV_FLAGS}")
47- set(GCOV_LIBS ${GCOV_LIBS} gcov)
48-
49- find_program(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
50- if (NOT GCOVR_EXECUTABLE)
51- message(STATUS "Gcovr binary was not found, can not generate XML coverage info.")
52- else ()
53- message(STATUS "Gcovr found, can generate XML coverage info.")
54- add_custom_target (coverage-xml
55- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
56- COMMAND "${GCOVR_EXECUTABLE}" --exclude="test.*" -x -r "${CMAKE_SOURCE_DIR}"
57- --object-directory=${CMAKE_BINARY_DIR} -o coverage.xml)
58- endif()
59-
60- find_program(LCOV_EXECUTABLE lcov HINTS ${LCOV_ROOT} "${GCOVR_ROOT}/bin")
61- find_program(GENHTML_EXECUTABLE genhtml HINTS ${GENHTML_ROOT})
62- if (NOT LCOV_EXECUTABLE)
63- message(STATUS "Lcov binary was not found, can not generate HTML coverage info.")
64- else ()
65- if(NOT GENHTML_EXECUTABLE)
66- message(STATUS "Genthml binary not found, can not generate HTML coverage info.")
67- else()
68- message(STATUS "Lcov and genhtml found, can generate HTML coverage info.")
69- add_custom_target (coverage-html
70- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
71- COMMAND "${CMAKE_CTEST_COMMAND}" --force-new-ctest-process --verbose
72- COMMAND "${LCOV_EXECUTABLE}" --directory ${CMAKE_BINARY_DIR} --capture | ${CMAKE_SOURCE_DIR}/trim-lcov.py > dconf-lcov.info
73- COMMAND "${LCOV_EXECUTABLE}" -r dconf-lcov.info /usr/include/\\* -o nosys-lcov.info
74- COMMAND LANG=C "${GENHTML_EXECUTABLE}" --prefix ${CMAKE_BINARY_DIR} --output-directory lcov-html --legend --show-details nosys-lcov.info
75- COMMAND ${CMAKE_COMMAND} -E echo ""
76- COMMAND ${CMAKE_COMMAND} -E echo "file://${CMAKE_BINARY_DIR}/lcov-html/index.html"
77- COMMAND ${CMAKE_COMMAND} -E echo "")
78- #COMMAND "${LCOV_EXECUTABLE}" --directory ${CMAKE_BINARY_DIR} --capture --output-file coverage.info --no-checksum
79- #COMMAND "${GENHTML_EXECUTABLE}" --prefix ${CMAKE_BINARY_DIR} --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
80- #COMMAND ${CMAKE_COMMAND} -E echo "\\#define foo \\\"bar\\\""
81- #)
82- endif()
83- endif()
84-endif()
85-
86-
87- #$(MAKE) $(AM_MAKEFLAGS) check
88- #lcov --directory $(top_builddir) --capture --test-name dconf | $(top_srcdir)/trim-lcov.py > dconf-lcov.info
89- #LANG=C genhtml --prefix $(top_builddir) --output-directory lcov-html --legend --show-details dconf-lcov.info
90- #@echo
91- #@echo " file://$(abs_top_builddir)/lcov-html/index.html"
92- #@echo
93
94=== modified file 'src/CMakeLists.txt'
95--- src/CMakeLists.txt 2015-08-03 14:28:28 +0000
96+++ src/CMakeLists.txt 2016-12-02 21:27:54 +0000
97@@ -15,7 +15,7 @@
98 multisource.cpp)
99
100 add_library(${SERVICE_LIB} SHARED ${SERVICE_LIB_HANDWRITTEN_SOURCES})
101-target_link_libraries (${SERVICE_LIB} PRIVATE ${SERVICE_DEPS_LIBRARIES} ${GCOV_LIBS})
102+target_link_libraries (${SERVICE_LIB} PRIVATE ${SERVICE_DEPS_LIBRARIES})
103
104 set_target_properties(${SERVICE_LIB} PROPERTIES
105 VERSION ${INDICATOR_TRANSFER_VERSION}
106@@ -32,13 +32,13 @@
107
108 set (SERVICE_EXEC_HANDWRITTEN_SOURCES main.cpp)
109 add_executable (${SERVICE_EXEC} ${SERVICE_EXEC_HANDWRITTEN_SOURCES})
110-target_link_libraries (${SERVICE_EXEC} ${SERVICE_LIB} ${SERVICE_DEPS_LIBRARIES} ${GCOV_LIBS})
111+target_link_libraries (${SERVICE_EXEC} ${SERVICE_LIB} ${SERVICE_DEPS_LIBRARIES})
112 install (TARGETS ${SERVICE_EXEC} RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_PKGLIBEXECDIR})
113
114 # add warnings/coverage info on handwritten files
115 # but not the generated ones...
116 set_property (SOURCE ${SERVICE_LIB_HANDWRITTEN_SOURCES} ${SERVICE_EXEC_HANDWRITTEN_SOURCES}
117- APPEND_STRING PROPERTY COMPILE_FLAGS " -std=c++11 -fPIC -g ${CXX_WARNING_ARGS} ${GCOV_FLAGS}")
118+ APPEND_STRING PROPERTY COMPILE_FLAGS " -std=c++11 -fPIC -g ${CXX_WARNING_ARGS}")
119
120 set_property (SOURCE main.cpp APPEND PROPERTY COMPILE_DEFINITIONS PLUGINDIR="${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}")
121
122
123=== modified file 'src/dm-plugin/CMakeLists.txt'
124--- src/dm-plugin/CMakeLists.txt 2015-07-30 19:52:49 +0000
125+++ src/dm-plugin/CMakeLists.txt 2016-12-02 21:27:54 +0000
126@@ -13,9 +13,9 @@
127 target_link_libraries (${DM_LIB}
128 indicator-transfer
129 ${SERVICE_DEPS_LIBRARIES}
130- ${GCOV_LIBS})
131+)
132
133 install(TARGETS ${DM_LIB} LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_PKGLIBEXECDIR})
134
135 set_property (SOURCE ${DM_SOURCES}
136- APPEND_STRING PROPERTY COMPILE_FLAGS " -std=c++11 -fPIC -g ${CXX_WARNING_ARGS} ${GCOV_FLAGS}")
137+ APPEND_STRING PROPERTY COMPILE_FLAGS " -std=c++11 -fPIC -g ${CXX_WARNING_ARGS}")

Subscribers

People subscribed via source and target branches