Skip to content

Commit 37e3c73

Browse files
authored
Switch to isolated testing via rmw_test_fixture (#1251)
Signed-off-by: Yadunund <[email protected]>
1 parent 4af269f commit 37e3c73

File tree

4 files changed

+31
-37
lines changed

4 files changed

+31
-37
lines changed

rcl/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<!-- Explicit group resolution - see ros-infrastructure/catkin_pkg#369 -->
3636
<depend condition="$DISABLE_GROUPS_WORKAROUND != 1">rcl_logging_spdlog</depend>
3737

38-
<test_depend>ament_cmake_gtest</test_depend>
38+
<test_depend>ament_cmake_ros</test_depend>
3939
<test_depend>ament_lint_auto</test_depend>
4040
<test_depend>ament_lint_common</test_depend>
4141
<test_depend>launch</test_depend>

rcl/test/CMakeLists.txt

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
find_package(ament_cmake_gtest REQUIRED)
1+
find_package(ament_cmake_ros REQUIRED)
22

33
find_package(launch_testing_ament_cmake REQUIRED)
44
find_package(mimick_vendor REQUIRED)
@@ -181,58 +181,50 @@ function(test_target)
181181
message(STATUS "Creating tests for '${rmw_implementation}'")
182182
set(rmw_implementation_env_var RMW_IMPLEMENTATION=${rmw_implementation})
183183

184-
# If the rmw_implementation is rmw_zenoh_cpp, run the tests with multicast discovery enabled.
185-
# Note: This is a temporary change that will be reverted before we branch into Kilted.
186-
if(rmw_implementation STREQUAL "rmw_zenoh_cpp")
187-
list(APPEND rmw_implementation_env_var
188-
ZENOH_CONFIG_OVERRIDE=scouting/multicast/enabled=true
189-
)
190-
endif()
191-
192184
# Gtests
193-
ament_add_gtest_test(test_client
185+
ament_add_ros_isolated_gtest_test(test_client
194186
TEST_NAME test_client${target_suffix}
195187
ENV ${rmw_implementation_env_var}
196188
)
197189

198-
ament_add_gtest_test(test_timer
190+
ament_add_ros_isolated_gtest_test(test_timer
199191
TEST_NAME test_timer${target_suffix}
200192
ENV ${rmw_implementation_env_var}
201193
)
202194

203-
ament_add_gtest_test(test_context
195+
ament_add_ros_isolated_gtest_test(test_context
204196
TEST_NAME test_context${target_suffix}
205197
ENV ${rmw_implementation_env_var} ${memory_tools_ld_preload_env_var}
206198
)
207199
ament_add_test_label(test_context${target_suffix} mimick)
208200

209-
ament_add_gtest_test(test_get_node_names
201+
ament_add_ros_isolated_gtest_test(test_get_node_names
210202
TEST_NAME test_get_node_names${target_suffix}
211203
ENV ${rmw_implementation_env_var}
212204
)
213205

214-
ament_add_gtest_test(test_graph
206+
ament_add_ros_isolated_gtest_test(test_graph
215207
TEST_NAME test_graph${target_suffix}
216208
ENV ${rmw_implementation_env_var}
217209
TIMEOUT 120
218210
)
219211

220-
ament_add_gtest_test(test_info_by_topic
212+
ament_add_ros_isolated_gtest_test(test_info_by_topic
221213
TEST_NAME test_info_by_topic${target_suffix}
222214
ENV ${rmw_implementation_env_var}
223215
)
224216

225-
ament_add_gtest_test(test_count_matched
217+
ament_add_ros_isolated_gtest_test(test_count_matched
226218
TEST_NAME test_count_matched${target_suffix}
227219
ENV ${rmw_implementation_env_var}
228220
)
229221

230-
ament_add_gtest_test(test_get_actual_qos
222+
ament_add_ros_isolated_gtest_test(test_get_actual_qos
231223
TEST_NAME test_get_actual_qos${target_suffix}
232224
ENV ${rmw_implementation_env_var}
233225
)
234226

235-
ament_add_gtest_test(test_init
227+
ament_add_ros_isolated_gtest_test(test_init
236228
TEST_NAME test_init${target_suffix}
237229
ENV ${rmw_implementation_env_var} ${memory_tools_ld_preload_env_var}
238230
TIMEOUT 180
@@ -249,37 +241,37 @@ function(test_target)
249241
else()
250242
set(gtest_filter_env_var "")
251243
endif()
252-
ament_add_gtest_test(test_node
244+
ament_add_ros_isolated_gtest_test(test_node
253245
TEST_NAME test_node${target_suffix}
254246
ENV ${rmw_implementation_env_var} ${memory_tools_ld_preload_env_var} ${gtest_filter_env_var}
255247
TIMEOUT 240 # Large timeout to wait for fault injection tests
256248
)
257249
ament_add_test_label(test_node${target_suffix} mimick)
258250

259-
ament_add_gtest_test(test_remap
251+
ament_add_ros_isolated_gtest_test(test_remap
260252
TEST_NAME test_remap${target_suffix}
261253
ENV ${rmw_implementation_env_var}
262254
)
263255

264-
ament_add_gtest_test(test_remap_integration
256+
ament_add_ros_isolated_gtest_test(test_remap_integration
265257
TEST_NAME test_remap_integration${target_suffix}
266258
ENV ${rmw_implementation_env_var}
267259
TIMEOUT 200
268260
)
269261

270-
ament_add_gtest_test(test_guard_condition
262+
ament_add_ros_isolated_gtest_test(test_guard_condition
271263
TEST_NAME test_guard_condition${target_suffix}
272264
ENV ${rmw_implementation_env_var} ${memory_tools_ld_preload_env_var}
273265
)
274266
ament_add_test_label(test_guard_condition${target_suffix} mimick)
275267

276-
ament_add_gtest_test(test_publisher
268+
ament_add_ros_isolated_gtest_test(test_publisher
277269
TEST_NAME test_publisher${target_suffix}
278270
ENV ${rmw_implementation_env_var}
279271
)
280272
ament_add_test_label(test_publisher${target_suffix} mimick)
281273

282-
ament_add_gtest_test(test_publisher_wait_all_ack
274+
ament_add_ros_isolated_gtest_test(test_publisher_wait_all_ack
283275
TEST_NAME test_publisher_wait_all_ack${target_suffix}
284276
ENV ${rmw_implementation_env_var}
285277
)
@@ -314,58 +306,58 @@ function(test_target)
314306
PRIVATE "RMW_TIMESTAMPS_SUPPORTED=1")
315307
endif()
316308

317-
ament_add_gtest_test(test_events
309+
ament_add_ros_isolated_gtest_test(test_events
318310
TEST_NAME test_events${target_suffix}
319311
ENV ${rmw_implementation_env_var}
320312
TIMEOUT 120
321313
)
322314

323-
ament_add_gtest_test(test_wait
315+
ament_add_ros_isolated_gtest_test(test_wait
324316
TEST_NAME test_wait${target_suffix}
325317
ENV ${rmw_implementation_env_var}
326318
)
327319
ament_add_test_label(test_wait${target_suffix} mimick)
328320

329-
ament_add_gtest_test(test_logging_rosout
321+
ament_add_ros_isolated_gtest_test(test_logging_rosout
330322
TEST_NAME test_logging_rosout${target_suffix}
331323
ENV ${rmw_implementation_env_var}
332324
)
333325

334-
ament_add_gtest_test(test_namespace
326+
ament_add_ros_isolated_gtest_test(test_namespace
335327
TEST_NAME test_namespace${target_suffix}
336328
ENV ${rmw_implementation_env_var}
337329
)
338330

339-
ament_add_gtest_test(test_rmw_impl_id_check_func
331+
ament_add_ros_isolated_gtest_test(test_rmw_impl_id_check_func
340332
TEST_NAME test_rmw_impl_id_check_func${target_suffix}
341333
ENV ${rmw_implementation_env_var}
342334
)
343335
ament_add_test_label(test_rmw_impl_id_check_func${target_suffix} mimick)
344336

345-
ament_add_gtest_test(test_network_flow_endpoints
337+
ament_add_ros_isolated_gtest_test(test_network_flow_endpoints
346338
TEST_NAME test_network_flow_endpoints${target_suffix}
347339
ENV ${rmw_implementation_env_var}
348340
)
349341
ament_add_test_label(test_network_flow_endpoints${target_suffix} mimick)
350342

351-
ament_add_gtest_test(test_service_event_publisher
343+
ament_add_ros_isolated_gtest_test(test_service_event_publisher
352344
TEST_NAME test_service_event_publisher${target_suffix}
353345
ENV ${rmw_implementation_env_var}
354346
)
355347
ament_add_test_label(test_service_event_publisher${target_suffix} mimick)
356348

357-
ament_add_gtest_test(test_type_description_conversions
349+
ament_add_ros_isolated_gtest_test(test_type_description_conversions
358350
TEST_NAME test_type_description_conversions${target_suffix}
359351
ENV ${rmw_implementation_env_var}
360352
)
361353

362-
ament_add_gtest_test(test_node_type_cache
354+
ament_add_ros_isolated_gtest_test(test_node_type_cache
363355
TEST_NAME test_node_type_cache${target_suffix}
364356
ENV ${rmw_implementation_env_var}
365357
)
366358
ament_add_test_label(test_node_type_cache${target_suffix} mimick)
367359

368-
ament_add_gtest_test(test_get_type_description_service
360+
ament_add_ros_isolated_gtest_test(test_get_type_description_service
369361
TEST_NAME test_get_type_description_service${target_suffix}
370362
ENV ${rmw_implementation_env_var}
371363
)

rcl/test/cmake/rcl_add_custom_gtest.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ macro(rcl_add_custom_gtest target)
7171
endif()
7272

7373
# Pass args along to ament_add_gtest().
74-
ament_add_gtest(${target} ${_ARG_SRCS} ${_ARG_ENV} ${_ARG_APPEND_ENV} ${_ARG_APPEND_LIBRARY_DIRS}
75-
${_ARG_SKIP_TEST} ${_ARG_TIMEOUT})
74+
ament_add_ros_isolated_gtest(${target} ${_ARG_SRCS} ${_ARG_ENV} ${_ARG_APPEND_ENV}
75+
${_ARG_APPEND_LIBRARY_DIRS} ${_ARG_SKIP_TEST} ${_ARG_TIMEOUT})
7676
# Check if the target was actually created.
7777
if(TARGET ${target})
7878
if(_ARG_TRACE)

rcl/test/cmake/rcl_add_custom_launch_test.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,11 @@ macro(rcl_add_custom_launch_test test_name executable1 executable2)
3434
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/test/${test_name}${target_suffix}_$<CONFIG>.py"
3535
INPUT "${CMAKE_CURRENT_BINARY_DIR}/${test_name}${target_suffix}.py.configure"
3636
)
37+
set(RUNNER "RUNNER" "${ament_cmake_ros_DIR}/run_test_isolated.py")
3738
add_launch_test(
3839
"${CMAKE_CURRENT_BINARY_DIR}/test/${test_name}${target_suffix}_$<CONFIG>.py"
3940
TARGET ${test_name}${target_suffix}
41+
RUNNER "${RUNNER}"
4042
${ARGN}
4143
)
4244
if(TEST ${test_name}${target_suffix})

0 commit comments

Comments
 (0)