Skip to content
This repository was archived by the owner on Feb 12, 2022. It is now read-only.

Commit 76a15d7

Browse files
mm318ross-desmond
authored andcommitted
Use standard CMake macros for adding gtest/gmock tests (#33)
* modify kinesis_video_streamer to use add_rostest_gmock() Signed-off-by: Miaofei <[email protected]> * update travis.yml to be compatible with specifying multiple package names Signed-off-by: Miaofei <[email protected]>
1 parent ffc89d1 commit 76a15d7

File tree

3 files changed

+57
-28
lines changed

3 files changed

+57
-28
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ notifications:
1212
env:
1313
global:
1414
- GITHUB_ACCOUNT=aws-robotics
15-
# uncomment PACKAGE_NAME to build unit tests - REQUIRED if you'd like to run unit tests using colcon
16-
- PACKAGE_NAME=kinesis_video_streamer
15+
# uncomment PACKAGE_NAMES to build unit tests - REQUIRED if you'd like to run unit tests using colcon
16+
- PACKAGE_NAMES=kinesis_video_streamer
1717
matrix:
1818
# define DOWNSTREAM_GITHUB_REPO=name-of-your-repo if you'd like to trigger downstream repos' travis builds
1919
- ROS_DISTRO=kinetic ROS_VERSION=1

kinesis_video_streamer/CMakeLists.txt

Lines changed: 50 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -57,29 +57,55 @@ install(FILES kvs_log_configuration DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATI
5757
#############
5858

5959
if(CATKIN_ENABLE_TESTING)
60-
find_package(rostest REQUIRED)
61-
62-
add_rostest_gtest(test_kinesis_video_streamer
63-
test/test_kinesis_video_streamer.test
64-
test/kinesis_video_streamer_test.cpp)
65-
target_include_directories(test_kinesis_video_streamer PRIVATE include ${catkin_INCLUDE_DIRS} ${kinesis_manager_INCLUDE_DIRS})
66-
target_link_libraries(test_kinesis_video_streamer
67-
${PROJECT_NAME}_lib
68-
${catkin_LIBRARIES})
69-
find_package(GMock QUIET)
70-
if(GMOCK_FOUND)
71-
add_rostest_gmock(test_streamer_node
60+
find_package(rostest REQUIRED)
61+
add_rostest_gtest(test_kinesis_video_streamer
62+
test/test_kinesis_video_streamer.test
63+
test/kinesis_video_streamer_test.cpp
64+
)
65+
target_include_directories(test_kinesis_video_streamer PRIVATE
66+
include
67+
${catkin_INCLUDE_DIRS}
68+
${kinesis_manager_INCLUDE_DIRS}
69+
)
70+
target_link_libraries(test_kinesis_video_streamer
71+
${PROJECT_NAME}_lib
72+
${catkin_LIBRARIES}
73+
)
74+
75+
find_package(GMock QUIET)
76+
if(GMOCK_FOUND)
77+
add_rostest_gmock(test_streamer_node
7278
test/test_streamer_node.test
73-
test/streamer_node_test.cpp)
74-
target_include_directories(test_streamer_node PRIVATE include ${catkin_INCLUDE_DIRS} ${kinesis_manager_INCLUDE_DIRS} ${GMOCK_INCLUDE_DIRS})
75-
target_link_libraries(test_streamer_node ${PROJECT_NAME}_lib ${catkin_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
76-
else()
77-
include_directories(/usr/include/gmock /usr/src/gmock)
78-
add_library(${PROJECT_NAME}_libgmock /usr/src/gmock/src/gmock-all.cc)
79-
add_rostest_gtest(test_streamer_node
80-
test/test_streamer_node.test
81-
test/streamer_node_test.cpp)
82-
target_include_directories(test_streamer_node PRIVATE include ${catkin_INCLUDE_DIRS} ${kinesis_manager_INCLUDE_DIRS})
83-
target_link_libraries(test_streamer_node ${PROJECT_NAME}_lib ${catkin_LIBRARIES} ${PROJECT_NAME}_libgmock)
84-
endif()
79+
test/streamer_node_test.cpp
80+
)
81+
target_include_directories(test_streamer_node PRIVATE
82+
include
83+
${catkin_INCLUDE_DIRS}
84+
${kinesis_manager_INCLUDE_DIRS}
85+
${GMOCK_INCLUDE_DIRS}
86+
)
87+
target_link_libraries(test_streamer_node
88+
${PROJECT_NAME}_lib
89+
${catkin_LIBRARIES}
90+
${GMOCK_BOTH_LIBRARIES}
91+
)
92+
else()
93+
include_directories(/usr/include/gmock /usr/src/gmock)
94+
add_library(${PROJECT_NAME}_libgmock SHARED /usr/src/gmock/src/gmock-all.cc)
95+
96+
add_rostest_gtest(test_streamer_node
97+
test/test_streamer_node.test
98+
test/streamer_node_test.cpp
99+
)
100+
target_include_directories(test_streamer_node PRIVATE
101+
include
102+
${catkin_INCLUDE_DIRS}
103+
${kinesis_manager_INCLUDE_DIRS}
104+
)
105+
target_link_libraries(test_streamer_node
106+
${PROJECT_NAME}_lib
107+
${catkin_LIBRARIES}
108+
${PROJECT_NAME}_libgmock
109+
)
110+
endif()
85111
endif()

kinesis_video_streamer/package.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
2-
<package format="2">
2+
<package format="3">
33
<name>kinesis_video_streamer</name>
44
<version>2.0.1</version>
55
<description>Kinesis Video Streams producer node</description>
@@ -10,7 +10,6 @@
1010

1111
<license>Apache 2.0</license>
1212

13-
1413
<buildtool_depend>catkin</buildtool_depend>
1514

1615
<depend>aws_common</depend>
@@ -21,6 +20,10 @@
2120
<depend>image_transport</depend>
2221
<depend>std_msgs</depend>
2322

23+
<test_depend condition="$ROS_VERSION == 1">gtest</test_depend>
24+
<test_depend condition="$ROS_VERSION == 1">google-mock</test_depend>
25+
<test_depend condition="$ROS_VERSION == 2">ament_cmake_gtest</test_depend>
26+
<test_depend condition="$ROS_VERSION == 2">ament_cmake_gmock</test_depend>
2427
<test_depend>rostest</test_depend>
2528
<test_depend>rostopic</test_depend>
2629
</package>

0 commit comments

Comments
 (0)