@@ -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