Skip to content

Commit 8b2ac94

Browse files
authored
define core tests through macros (#299)
Maybe it makes sense to define this in an exported config, but then why bother until someone needs it.
1 parent e89c68c commit 8b2ac94

File tree

1 file changed

+22
-23
lines changed

1 file changed

+22
-23
lines changed

core/test/CMakeLists.txt

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,28 @@ if (CATKIN_ENABLE_TESTING)
99
add_library(gtest_utils gtest_value_printers.cpp models.cpp stage_mockups.cpp)
1010
target_link_libraries(gtest_utils ${PROJECT_NAME})
1111

12-
catkin_add_gtest(${PROJECT_NAME}-test-stage test_stage.cpp)
13-
target_link_libraries(${PROJECT_NAME}-test-stage ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
14-
15-
catkin_add_gtest(${PROJECT_NAME}-test-container test_container.cpp)
16-
target_link_libraries(${PROJECT_NAME}-test-container ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
17-
18-
catkin_add_gtest(${PROJECT_NAME}-test-serial test_serial.cpp)
19-
target_link_libraries(${PROJECT_NAME}-test-serial ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
20-
21-
catkin_add_gmock(${PROJECT_NAME}-test-fallback test_fallback.cpp)
22-
target_link_libraries(${PROJECT_NAME}-test-fallback ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
23-
24-
catkin_add_gtest(${PROJECT_NAME}-test-properties test_properties.cpp)
25-
target_link_libraries(${PROJECT_NAME}-test-properties ${PROJECT_NAME} gtest_main)
26-
27-
catkin_add_gmock(${PROJECT_NAME}-test-cost_queue test_cost_queue.cpp)
28-
target_link_libraries(${PROJECT_NAME}-test-cost_queue ${PROJECT_NAME} gtest_main)
29-
30-
catkin_add_gmock(${PROJECT_NAME}-test-interface_state test_interface_state.cpp)
31-
target_link_libraries(${PROJECT_NAME}-test-interface_state ${PROJECT_NAME} gtest_utils gtest_main)
32-
33-
catkin_add_gtest(${PROJECT_NAME}-test-cost_terms test_cost_terms.cpp)
34-
target_link_libraries(${PROJECT_NAME}-test-cost_terms ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
12+
macro(mtc_add_test TYPE FILE)
13+
string(REGEX REPLACE "\.cpp$" "" TEST_NAME ${FILE})
14+
string(REGEX REPLACE "_" "-" TEST_NAME ${TEST_NAME})
15+
_catkin_add_google_test(${TYPE} ${PROJECT_NAME}-${TEST_NAME} ${FILE})
16+
target_link_libraries(${PROJECT_NAME}-${TEST_NAME} ${PROJECT_NAME} ${PROJECT_NAME}_stages ${ARGN} gtest_utils gtest_main)
17+
endmacro()
18+
macro(mtc_add_gtest)
19+
mtc_add_test("gtest" ${ARGN})
20+
endmacro()
21+
macro(mtc_add_gmock)
22+
mtc_add_test("gmock" ${ARGN})
23+
endmacro()
24+
25+
mtc_add_gtest(test_stage.cpp)
26+
mtc_add_gtest(test_container.cpp)
27+
mtc_add_gtest(test_serial.cpp)
28+
mtc_add_gtest(test_properties.cpp)
29+
mtc_add_gtest(test_cost_terms.cpp)
30+
31+
mtc_add_gmock(test_fallback.cpp)
32+
mtc_add_gmock(test_cost_queue.cpp)
33+
mtc_add_gmock(test_interface_state.cpp)
3534

3635
# building these integration tests works without moveit config packages
3736
add_executable(pick_ur5 pick_ur5.cpp)

0 commit comments

Comments
 (0)