@@ -461,6 +461,8 @@ TEST_F(TestControllerManagerSrvs, unload_controller_srv)
461461
462462 result = call_service_and_wait (*client, request, srv_executor, true );
463463 ASSERT_TRUE (result->ok );
464+ EXPECT_EQ (
465+ lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED, test_controller->get_state ().id ());
464466 EXPECT_EQ (0u , cm_->get_loaded_controllers ().size ());
465467}
466468
@@ -472,6 +474,9 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
472474 rclcpp::Client<controller_manager_msgs::srv::ConfigureController>::SharedPtr client =
473475 srv_node->create_client <controller_manager_msgs::srv::ConfigureController>(
474476 " test_controller_manager/configure_controller" );
477+ rclcpp::Client<controller_manager_msgs::srv::UnloadController>::SharedPtr unload_client =
478+ srv_node->create_client <controller_manager_msgs::srv::UnloadController>(
479+ " test_controller_manager/unload_controller" );
475480
476481 auto request = std::make_shared<controller_manager_msgs::srv::ConfigureController::Request>();
477482 request->name = test_controller::TEST_CONTROLLER_NAME;
@@ -490,6 +495,15 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
490495 EXPECT_EQ (
491496 lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE,
492497 cm_->get_loaded_controllers ()[0 ].c ->get_state ().id ());
498+ EXPECT_EQ (lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE, test_controller->get_state ().id ());
499+
500+ // now unload the controller and check the state
501+ auto unload_request = std::make_shared<controller_manager_msgs::srv::UnloadController::Request>();
502+ unload_request->name = test_controller::TEST_CONTROLLER_NAME;
503+ ASSERT_TRUE (call_service_and_wait (*unload_client, unload_request, srv_executor, true )->ok );
504+ EXPECT_EQ (
505+ lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED, test_controller->get_state ().id ());
506+ EXPECT_EQ (0u , cm_->get_loaded_controllers ().size ());
493507}
494508
495509TEST_F (TestControllerManagerSrvs, list_sorted_chained_controllers)
0 commit comments