@@ -462,6 +462,8 @@ TEST_F(TestControllerManagerSrvs, unload_controller_srv)
462462
463463 result = call_service_and_wait (*client, request, srv_executor, true );
464464 ASSERT_TRUE (result->ok );
465+ EXPECT_EQ (
466+ lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED, test_controller->get_state ().id ());
465467 EXPECT_EQ (0u , cm_->get_loaded_controllers ().size ());
466468}
467469
@@ -473,6 +475,9 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
473475 rclcpp::Client<controller_manager_msgs::srv::ConfigureController>::SharedPtr client =
474476 srv_node->create_client <controller_manager_msgs::srv::ConfigureController>(
475477 " test_controller_manager/configure_controller" );
478+ rclcpp::Client<controller_manager_msgs::srv::UnloadController>::SharedPtr unload_client =
479+ srv_node->create_client <controller_manager_msgs::srv::UnloadController>(
480+ " test_controller_manager/unload_controller" );
476481
477482 auto request = std::make_shared<controller_manager_msgs::srv::ConfigureController::Request>();
478483 request->name = test_controller::TEST_CONTROLLER_NAME;
@@ -491,6 +496,15 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
491496 EXPECT_EQ (
492497 lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE,
493498 cm_->get_loaded_controllers ()[0 ].c ->get_state ().id ());
499+ EXPECT_EQ (lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE, test_controller->get_state ().id ());
500+
501+ // now unload the controller and check the state
502+ auto unload_request = std::make_shared<controller_manager_msgs::srv::UnloadController::Request>();
503+ unload_request->name = test_controller::TEST_CONTROLLER_NAME;
504+ ASSERT_TRUE (call_service_and_wait (*unload_client, unload_request, srv_executor, true )->ok );
505+ EXPECT_EQ (
506+ lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED, test_controller->get_state ().id ());
507+ EXPECT_EQ (0u , cm_->get_loaded_controllers ().size ());
494508}
495509
496510TEST_F (TestControllerManagerSrvs, list_sorted_chained_controllers)
0 commit comments