From edf2605a1d165f0e8965cd1620ca32dabbe081a5 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Wed, 29 May 2024 11:33:40 +0200 Subject: [PATCH] TEMP: Workaround for unittests failing during shutdown Using quick_exit instead of return/exit avoids calling all cleanup functions, which fail due to a bug in rmw_fastrtps_cpp. --- core/test/test_move_relative.cpp | 3 ++- visualization/motion_planning_tasks/test/test_task_model.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/test/test_move_relative.cpp b/core/test/test_move_relative.cpp index 482ee4e24..04133fb25 100644 --- a/core/test/test_move_relative.cpp +++ b/core/test/test_move_relative.cpp @@ -133,5 +133,6 @@ int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); rclcpp::init(argc, argv); - return RUN_ALL_TESTS(); + // Using quick_exit to avoid calling cleanup functions, which cause a segfault in rmw + quick_exit(RUN_ALL_TESTS()); } diff --git a/visualization/motion_planning_tasks/test/test_task_model.cpp b/visualization/motion_planning_tasks/test/test_task_model.cpp index 2e0721609..9bd9d3305 100644 --- a/visualization/motion_planning_tasks/test/test_task_model.cpp +++ b/visualization/motion_planning_tasks/test/test_task_model.cpp @@ -239,5 +239,6 @@ int main(int argc, char** argv) { auto test_result = RUN_ALL_TESTS(); app.exit(test_result); }); - return app.exec(); + // Using quick_exit to avoid calling cleanup functions, which cause a segfault in rmw + quick_exit(app.exec()); }