@@ -461,6 +461,8 @@ TEST_F(TestControllerManagerSrvs, unload_controller_srv)
461
461
462
462
result = call_service_and_wait (*client, request, srv_executor, true );
463
463
ASSERT_TRUE (result->ok );
464
+ EXPECT_EQ (
465
+ lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED, test_controller->get_state ().id ());
464
466
EXPECT_EQ (0u , cm_->get_loaded_controllers ().size ());
465
467
}
466
468
@@ -472,6 +474,9 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
472
474
rclcpp::Client<controller_manager_msgs::srv::ConfigureController>::SharedPtr client =
473
475
srv_node->create_client <controller_manager_msgs::srv::ConfigureController>(
474
476
" 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" );
475
480
476
481
auto request = std::make_shared<controller_manager_msgs::srv::ConfigureController::Request>();
477
482
request->name = test_controller::TEST_CONTROLLER_NAME;
@@ -490,6 +495,15 @@ TEST_F(TestControllerManagerSrvs, configure_controller_srv)
490
495
EXPECT_EQ (
491
496
lifecycle_msgs::msg::State::PRIMARY_STATE_INACTIVE,
492
497
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 ());
493
507
}
494
508
495
509
TEST_F (TestControllerManagerSrvs, list_sorted_chained_controllers)
0 commit comments