@@ -83,10 +83,26 @@ TEST(TestableControllerInterface, setting_update_rate_in_configure)
8383
8484 // Test updating of update_rate parameter
8585 EXPECT_EQ (std::system (" ros2 param set /testable_controller_interface update_rate 623" ), 0 );
86+ // Keep the same update rate until transition from 'UNCONFIGURED' TO 'INACTIVE' does not happen
87+ controller.configure (); // No transition so the update rate should stay intact
88+ ASSERT_NE (controller.get_update_rate (), 623u );
8689 ASSERT_EQ (controller.get_update_rate (), 2812u );
90+
8791 controller.get_node ()->activate ();
92+ controller.configure (); // No transition so the update rate should stay intact
93+ ASSERT_NE (controller.get_update_rate (), 623u );
94+ ASSERT_EQ (controller.get_update_rate (), 2812u );
95+
8896 controller.update (controller.get_node ()->now (), rclcpp::Duration::from_seconds (0.1 ));
97+ controller.configure (); // No transition so the update rate should stay intact
98+ ASSERT_NE (controller.get_update_rate (), 623u );
99+ ASSERT_EQ (controller.get_update_rate (), 2812u );
100+
89101 controller.get_node ()->deactivate ();
102+ controller.configure (); // No transition so the update rate should stay intact
103+ ASSERT_NE (controller.get_update_rate (), 623u );
104+ ASSERT_EQ (controller.get_update_rate (), 2812u );
105+
90106 controller.get_node ()->cleanup ();
91107 ASSERT_EQ (controller.get_update_rate (), 2812u );
92108 // It is first changed after controller is configured again.
0 commit comments