comparison CMakeLists.txt @ 76:8136057988bc

Fixes to automatic report generating system. A lot of new unittests.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 16 Feb 2013 15:32:20 +0100
parents c9447697609f
children a827f3687c4a
comparison
equal deleted inserted replaced
75:aaf0a2878f67 76:8136057988bc
6 OPTION(COVERAGE "Enable code coverage analysis" OFF) 6 OPTION(COVERAGE "Enable code coverage analysis" OFF)
7 7
8 IF(COVERAGE) 8 IF(COVERAGE)
9 SET(COVERAGE_FLAGS "--coverage") 9 SET(COVERAGE_FLAGS "--coverage")
10 ENDIF() 10 ENDIF()
11
12 SET(ALL_TESTS)
11 13
12 MACRO(NEW_TEST file) 14 MACRO(NEW_TEST file)
13 STRING(REPLACE "/" "_" TARGET ${file}) 15 STRING(REPLACE "/" "_" TARGET ${file})
14 ADD_EXECUTABLE(${TARGET} ${file}.cpp ${TEST_SOURCES}) 16 ADD_EXECUTABLE(${TARGET} ${file}.cpp ${TEST_SOURCES})
15 ADD_TEST(${TARGET} ${TARGET}) 17 ADD_TEST(${TARGET} ${TARGET})
16 TARGET_LINK_LIBRARIES(${TARGET} ${QT_LIBRARIES} ${Boost_LIBRARIES} ${COVERAGE_FLAGS}) 18 TARGET_LINK_LIBRARIES(${TARGET} ${QT_LIBRARIES} ${Boost_LIBRARIES}
19 ${COVERAGE_FLAGS})
20
21 ADD_CUSTOM_COMMAND(OUTPUT "BUILD_${TARGET}"
22 COMMAND "${CMAKE_COMMAND}"
23 --build ${CMAKE_BINARY_DIR}
24 --target ${TARGET}
25 COMMENT "Building test ${TARGET}"
26 )
27 SET(BUILD_ALL_TESTS ${BUILD_ALL_TESTS} BUILD_${TARGET})
28
29 SET(ALL_TESTS ${ALL_TESTS} RUN_${TARGET})
30 ADD_CUSTOM_TARGET(RUN_${TARGET} ${CMAKE_BINARY_DIR}/${TARGET} --log_level=nothing --report_level=no
31 DEPENDS zero_counters_test_with_base
32 BUILD_${TARGET}
33 COMMENT "Running test ${TARGET}"
34
35 )
36
17 ENDMACRO() 37 ENDMACRO()
18 38
19 SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake_Modules/") 39 SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake_Modules/")
20 40
21 SET(USE_HEADERS_FOR_BOOST_TEST OFF) 41 SET(USE_HEADERS_FOR_BOOST_TEST OFF)
62 FileDBLink.cpp 82 FileDBLink.cpp
63 HuffmanSet.cpp 83 HuffmanSet.cpp
64 HuffmanString.cpp 84 HuffmanString.cpp
65 MemoryDBLink.cpp 85 MemoryDBLink.cpp
66 SqliteDBLink.cpp 86 SqliteDBLink.cpp
67 UniqueString.cpp
68 ) 87 )
69 88
70 SET(CLASS_HEADERS 89 SET(CLASS_HEADERS
71 BitArray.hpp 90 BitArray.hpp
72 BitDecoder.hpp 91 BitDecoder.hpp
96 ) 115 )
97 116
98 SET(TEST_SOURCES 117 SET(TEST_SOURCES
99 ${CLASS_SOURCES} 118 ${CLASS_SOURCES}
100 ${MOC_SOURCES} 119 ${MOC_SOURCES}
120 TestDatabase.cpp
101 TestFramework.cpp 121 TestFramework.cpp
102 ) 122 )
103 123
104 124
105 125
148 NEW_TEST(Exception/TestSQLException) 168 NEW_TEST(Exception/TestSQLException)
149 NEW_TEST(Exception/TestNoSuchValueException) 169 NEW_TEST(Exception/TestNoSuchValueException)
150 NEW_TEST(Exception/TestValueExistsException) 170 NEW_TEST(Exception/TestValueExistsException)
151 NEW_TEST(Exception/TestPermissionException) 171 NEW_TEST(Exception/TestPermissionException)
152 NEW_TEST(TestBitArray) 172 NEW_TEST(TestBitArray)
173 NEW_TEST(TestSQLGenerator)
174 NEW_TEST(TestFileDBLink)
153 NEW_TEST(TestBitDecoder) 175 NEW_TEST(TestBitDecoder)
154 NEW_TEST(TestDBCache) 176 NEW_TEST(TestDBCache)
155 NEW_TEST(TestEditDistance) 177 NEW_TEST(TestEditDistance)
156 NEW_TEST(TestFastBitDecoder) 178 NEW_TEST(TestFastBitDecoder)
157 NEW_TEST(TestHuffmanString) 179 NEW_TEST(TestHuffmanString)
158 NEW_TEST(TestRBTree) 180 NEW_TEST(TestRBTree)
159 NEW_TEST(TestMemoryDBLink) 181 NEW_TEST(TestMemoryDBLink)
160 NEW_TEST(TestSqliteDBLink) 182 NEW_TEST(TestSqliteDBLink)
161 183
184
162 #ADD_PRECOMPILED_HEADER(TestEditDistance TestFramework.hpp) 185 #ADD_PRECOMPILED_HEADER(TestEditDistance TestFramework.hpp)
163 186
164 187 ADD_CUSTOM_COMMAND(OUTPUT build_tests COMMAND "${CMAKE_COMMAND}"
165 ADD_CUSTOM_COMMAND(OUTPUT coverage.info 188 --build ${CMAKE_BINARY_DIR} --target all)
166 COMMAND lcov --no-external --capture 189
190 ADD_CUSTOM_TARGET(zero_counters_test_with_base
191 lcov -q -z -d ${CMAKE_CURRENT_BINARY_DIR}
192 DEPENDS ${BUILD_ALL_TESTS}
193 )
194
195 ADD_CUSTOM_COMMAND(OUTPUT test_with_base COMMAND
196 true
197 DEPENDS zero_counters_test_with_base ${ALL_TESTS}
198 COMMENT "All test have run"
199 )
200
201 ADD_CUSTOM_COMMAND(OUTPUT coverage_base_raw.info
202 COMMAND lcov --no-external
203 --capture --initial
167 --directory ${CMAKE_CURRENT_BINARY_DIR} 204 --directory ${CMAKE_CURRENT_BINARY_DIR}
168 --base-directory ${CMAKE_CURRENT_SOURCE_DIR} 205 --base-directory ${CMAKE_CURRENT_SOURCE_DIR}
169 --output-file coverage.info 206 --output-file coverage_base_raw.info
207 )
208
209 ADD_CUSTOM_COMMAND(OUTPUT coverage_test.info
210 COMMAND lcov -q --no-external --capture
211 --directory ${CMAKE_CURRENT_BINARY_DIR}
212 --base-directory ${CMAKE_CURRENT_SOURCE_DIR}
213 --output-file
214 coverage_test.info
215 DEPENDS test_with_base
170 ) 216 )
171 217
172 ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed2 218 ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed2
173 COMMAND lcov -r 219 COMMAND lcov -q -r
174 coverage.info 'moc_*' 220 coverage_test.info 'moc_*'
175 --output-file coverage.preprocessed2 221 --output-file coverage.preprocessed2
176 DEPENDS coverage.info 222 DEPENDS coverage_test.info
223 COMMENT "Removing \"moc_\"-files"
177 ) 224 )
178 225
179 226
180 ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed 227 ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed
181 COMMAND lcov -r 228 COMMAND lcov -q -r
182 coverage.preprocessed2 'Test*' 229 coverage.preprocessed2 'Test*'
183 --output-file coverage.preprocessed 230 --output-file coverage.preprocessed
184 DEPENDS coverage.preprocessed2 231 DEPENDS
185 ) 232 coverage.preprocessed2
186 233 COMMENT "Removing \"Test\"-files"
187 234 )
188 ADD_CUSTOM_TARGET(coverage_presentation genhtml 235
236
237 ADD_CUSTOM_TARGET(coverage_presentation genhtml -q
189 ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed 238 ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed
190 --output-directory 239 --output-directory
191 ${CMAKE_CURRENT_BINARY_DIR}/coverage_presentation 240 ${CMAKE_CURRENT_BINARY_DIR}/coverage_presentation
192 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed 241 DEPENDS
193 ) 242 ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed
243 )
244
245 ADD_CUSTOM_TARGET(coverage_base
246 DEPENDS
247 ${CMAKE_CURRENT_BINARY_DIR}/coverage_base.info
248 )