Skip to content

Commit 01d0cf9

Browse files
rhaschkev4hn
authored andcommitted
Extend mtc_add_test() macro to handle rostest as well
1 parent ef27a6e commit 01d0cf9

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

core/test/CMakeLists.txt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,29 @@ 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-
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)
12+
macro(mtc_add_test TYPE)
13+
# Split ARGN into .test file and other sources
14+
set(TEST_FILE ${ARGN})
15+
set(SOURCES ${ARGN})
16+
list(FILTER TEST_FILE INCLUDE REGEX "\.test$")
17+
list(FILTER SOURCES EXCLUDE REGEX "\.test$")
18+
# Determine TARGET name from first source file
19+
list(GET SOURCES 0 TEST_NAME)
20+
string(REGEX REPLACE "\.cpp$" "" TEST_NAME ${TEST_NAME})
21+
string(REGEX REPLACE "_" "-" TEST_NAME ${TEST_NAME})
22+
# Configure build target
23+
if(TEST_FILE) # Add rostest if .test file was specified
24+
_add_rostest_google_test(${TYPE} ${PROJECT_NAME}-${TEST_NAME} ${TEST_FILE} ${SOURCES})
25+
else()
26+
_catkin_add_google_test(${TYPE} ${PROJECT_NAME}-${TEST_NAME} ${SOURCES})
27+
endif()
28+
target_link_libraries(${PROJECT_NAME}-${TEST_NAME} ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
1729
endmacro()
1830
macro(mtc_add_gtest)
19-
mtc_add_test("gtest" ${ARGN})
31+
mtc_add_test("gtest" ${ARGN})
2032
endmacro()
2133
macro(mtc_add_gmock)
22-
mtc_add_test("gmock" ${ARGN})
34+
mtc_add_test("gmock" ${ARGN})
2335
endmacro()
2436

2537
mtc_add_gtest(test_stage.cpp)
@@ -33,8 +45,7 @@ if (CATKIN_ENABLE_TESTING)
3345
mtc_add_gmock(test_cost_queue.cpp)
3446
mtc_add_gmock(test_interface_state.cpp)
3547

36-
add_rostest_gtest(${PROJECT_NAME}-test-move-to move_to.test test_move_to.cpp)
37-
target_link_libraries(${PROJECT_NAME}-test-move-to ${PROJECT_NAME} ${PROJECT_NAME}_stages gtest_utils gtest_main)
48+
mtc_add_gtest(test_move_to.cpp move_to.test)
3849

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

0 commit comments

Comments
 (0)