@@ -196,6 +196,7 @@ class Tester : public ::testing::Test
196196
197197 // CollisionMonitor node
198198 std::shared_ptr<CollisionMonitorWrapper> cm_;
199+ rclcpp::executors::SingleThreadedExecutor::SharedPtr executor_;
199200
200201 // Footprint publisher
201202 nav2::Publisher<geometry_msgs::msg::PolygonStamped>::SharedPtr
@@ -233,6 +234,8 @@ class Tester : public ::testing::Test
233234Tester::Tester ()
234235{
235236 cm_ = std::make_shared<CollisionMonitorWrapper>();
237+ executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
238+ executor_->add_node (cm_->get_node_base_interface ());
236239 cm_->declare_parameter (" enable_stamped_cmd_vel" , rclcpp::ParameterValue (false ));
237240
238241 footprint_pub_ = cm_->create_publisher <geometry_msgs::msg::PolygonStamped>(
@@ -737,7 +740,7 @@ bool Tester::waitData(
737740 if (cm_->correctDataReceived (expected_dist, stamp)) {
738741 return true ;
739742 }
740- rclcpp::spin_some (cm_-> get_node_base_interface () );
743+ executor_-> spin_some ( );
741744 std::this_thread::sleep_for (10ms);
742745 }
743746 return false ;
@@ -750,7 +753,7 @@ bool Tester::waitCmdVel(const std::chrono::nanoseconds & timeout)
750753 if (cmd_vel_out_) {
751754 return true ;
752755 }
753- rclcpp::spin_some (cm_-> get_node_base_interface () );
756+ executor_-> spin_some ( );
754757 std::this_thread::sleep_for (10ms);
755758 }
756759 return false ;
@@ -766,7 +769,7 @@ bool Tester::waitFuture(
766769 if (status == std::future_status::ready) {
767770 return true ;
768771 }
769- rclcpp::spin_some (cm_-> get_node_base_interface () );
772+ executor_-> spin_some ( );
770773 std::this_thread::sleep_for (10ms);
771774 }
772775 return false ;
@@ -782,7 +785,7 @@ bool Tester::waitToggle(
782785 if (status == std::future_status::ready) {
783786 return true ;
784787 }
785- rclcpp::spin_some (cm_-> get_node_base_interface () );
788+ executor_-> spin_some ( );
786789 std::this_thread::sleep_for (10ms);
787790 }
788791 return false ;
@@ -795,7 +798,7 @@ bool Tester::waitActionState(const std::chrono::nanoseconds & timeout)
795798 if (action_state_) {
796799 return true ;
797800 }
798- rclcpp::spin_some (cm_-> get_node_base_interface () );
801+ executor_-> spin_some ( );
799802 std::this_thread::sleep_for (10ms);
800803 }
801804 return false ;
@@ -808,7 +811,7 @@ bool Tester::waitCollisionPointsMarker(const std::chrono::nanoseconds & timeout)
808811 if (collision_points_marker_msg_) {
809812 return true ;
810813 }
811- rclcpp::spin_some (cm_-> get_node_base_interface () );
814+ executor_-> spin_some ( );
812815 std::this_thread::sleep_for (10ms);
813816 }
814817 return false ;
0 commit comments