Merge lp:~tuxator/midori/cmake-debug-targets into lp:midori

Proposed by Paweł Forysiuk
Status: Merged
Approved by: Cris Dywan
Approved revision: 6424
Merged at revision: 6424
Proposed branch: lp:~tuxator/midori/cmake-debug-targets
Merge into: lp:midori
Diff against target: 116 lines (+58/-39)
2 files modified
cmake/ContainTest.cmake (+23/-0)
tests/CMakeLists.txt (+35/-39)
To merge this branch: bzr merge lp:~tuxator/midori/cmake-debug-targets
Reviewer Review Type Date Requested Status
Cris Dywan Approve
Review via email: mp+188460@code.launchpad.net

Commit message

Allow running test under debug tools with cmake

To post a comment you must log in.
6424. By Cris Dywan

Set contained environment on tests running under tools

Revision history for this message
Cris Dywan (kalikiana) wrote :

Nice stuff. I totally love the approach with the prefix, much simpler than what we used to have with waf.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cmake/ContainTest.cmake'
2--- cmake/ContainTest.cmake 2013-08-19 00:10:08 +0000
3+++ cmake/ContainTest.cmake 2013-10-01 22:00:13 +0000
4@@ -15,4 +15,27 @@
5 TIMEOUT 42
6 ENVIRONMENT "${TEST_ENV}"
7 )
8+
9+ add_custom_target("gdb-${test_name}"
10+ COMMAND env ${TEST_ENV} gdb
11+ --batch -ex 'set print thread-events off'
12+ -ex 'run' -ex 'bt'
13+ ${CMAKE_BINARY_DIR}/tests/${UNIT}
14+ )
15+
16+ add_custom_target("valgrind-${test_name}"
17+ COMMAND env ${TEST_ENV} valgrind
18+ -q --leak-check=no --num-callers=4
19+ --show-possibly-lost=no
20+ --undef-value-errors=yes
21+ --track-origins=yes
22+ ${CMAKE_BINARY_DIR}/tests/${UNIT}
23+ )
24+
25+ add_custom_target("callgrind-${test_name}"
26+ COMMAND env ${TEST_ENV} valgrind
27+ --tool=callgrind
28+ --callgrind-out-file=${UNIT}.callgrind
29+ ${CMAKE_BINARY_DIR}/tests/${UNIT}
30+ )
31 endmacro(contain_test)
32
33=== modified file 'tests/CMakeLists.txt'
34--- tests/CMakeLists.txt 2013-09-08 21:38:36 +0000
35+++ tests/CMakeLists.txt 2013-10-01 22:00:13 +0000
36@@ -12,45 +12,41 @@
37 ${CMAKE_BINARY_DIR}
38 "${CMAKE_BINARY_DIR}/midori"
39 )
40-file(GLOB TESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c)
41-foreach(UNIT_SRC ${TESTS})
42- string(REPLACE ".c" "" UNIT ${UNIT_SRC})
43- add_executable(${UNIT} ${UNIT_SRC})
44- add_test(NAME ${UNIT} COMMAND ${UNIT})
45- contain_test(${UNIT})
46- target_link_libraries(${UNIT}
47- ${LIBMIDORI}
48- )
49- set_target_properties(${UNIT} PROPERTIES
50- COMPILE_FLAGS ${CFLAGS}
51- )
52-endforeach ()
53-
54-file(GLOB TESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.vala)
55-foreach(UNIT_SRC ${TESTS})
56- string(REPLACE ".vala" "" UNIT ${UNIT_SRC})
57- include(ValaPrecompile)
58- vala_precompile(UNIT_SRC_C ${UNIT}
59- ${UNIT_SRC}
60- PACKAGES
61- ${PKGS}
62- OPTIONS
63- ${VALAFLAGS}
64- CUSTOM_VAPIS
65- ${EXTRA_VAPIS}
66- "${CMAKE_SOURCE_DIR}/midori/midori.vapi"
67- "${CMAKE_SOURCE_DIR}/katze/katze.vapi"
68- "${CMAKE_BINARY_DIR}/midori/${LIBMIDORI}.vapi"
69- )
70- add_executable(${UNIT} ${UNIT_SRC_C})
71- add_test(NAME ${UNIT} COMMAND ${UNIT})
72- contain_test(${UNIT})
73- target_link_libraries(${UNIT}
74- ${LIBMIDORI}
75- )
76- set_target_properties(${UNIT} PROPERTIES
77- COMPILE_FLAGS "${VALA_CFLAGS}"
78- )
79+file(GLOB TESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c *.vala)
80+foreach(UNIT_SRC ${TESTS})
81+ if (${UNIT_SRC} MATCHES "(.vala)$")
82+ string(REPLACE ".vala" "" UNIT ${UNIT_SRC})
83+ include(ValaPrecompile)
84+ vala_precompile(UNIT_SRC_C ${UNIT}
85+ ${UNIT_SRC}
86+ PACKAGES
87+ ${PKGS}
88+ OPTIONS
89+ ${VALAFLAGS}
90+ CUSTOM_VAPIS
91+ ${EXTRA_VAPIS}
92+ "${CMAKE_SOURCE_DIR}/midori/midori.vapi"
93+ "${CMAKE_SOURCE_DIR}/katze/katze.vapi"
94+ "${CMAKE_BINARY_DIR}/midori/${LIBMIDORI}.vapi"
95+ )
96+
97+ add_executable(${UNIT} ${UNIT_SRC_C})
98+ set_target_properties(${UNIT} PROPERTIES
99+ COMPILE_FLAGS "${VALA_CFLAGS}"
100+ )
101+ else()
102+ string(REPLACE ".c" "" UNIT ${UNIT_SRC})
103+ add_executable(${UNIT} ${UNIT_SRC})
104+ set_target_properties(${UNIT} PROPERTIES
105+ COMPILE_FLAGS ${CFLAGS}
106+ )
107+ endif()
108+
109+ target_link_libraries(${UNIT}
110+ ${LIBMIDORI}
111+ )
112+ add_test(NAME ${UNIT} COMMAND ${UNIT})
113+ contain_test (${UNIT})
114 endforeach ()
115
116 file(GLOB TESTS *.sh)

Subscribers

People subscribed via source and target branches

to all changes: