Skip to content

Commit 996f030

Browse files
authored
[CI] Time out from test_force_torque_sensor_broadcaster (#1586)
1 parent 3850a08 commit 996f030

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

force_torque_sensor_broadcaster/test/test_force_torque_sensor_broadcaster.cpp

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424

2525
#include "geometry_msgs/msg/wrench_stamped.hpp"
2626
#include "hardware_interface/loaned_state_interface.hpp"
27+
#include "lifecycle_msgs/msg/state.hpp"
2728
#include "rclcpp/executor.hpp"
2829
#include "rclcpp/executors.hpp"
2930
#include "rclcpp/utilities.hpp"
30-
3131
using hardware_interface::LoanedStateInterface;
3232
using testing::IsEmpty;
3333
using testing::SizeIs;
@@ -40,15 +40,43 @@ constexpr auto NODE_ERROR = controller_interface::CallbackReturn::ERROR;
4040

4141
void ForceTorqueSensorBroadcasterTest::SetUpTestCase() {}
4242

43-
void ForceTorqueSensorBroadcasterTest::TearDownTestCase() {}
43+
void ForceTorqueSensorBroadcasterTest::TearDownTestCase()
44+
{
45+
// Ensure all nodes are properly shutdown
46+
rclcpp::shutdown();
47+
// Add a small delay to allow proper cleanup
48+
std::this_thread::sleep_for(std::chrono::milliseconds(100));
49+
}
4450

4551
void ForceTorqueSensorBroadcasterTest::SetUp()
4652
{
4753
// initialize controller
4854
fts_broadcaster_ = std::make_unique<FriendForceTorqueSensorBroadcaster>();
4955
}
5056

51-
void ForceTorqueSensorBroadcasterTest::TearDown() { fts_broadcaster_.reset(nullptr); }
57+
void ForceTorqueSensorBroadcasterTest::TearDown()
58+
{
59+
// Reset the broadcaster with proper cleanup
60+
if (fts_broadcaster_)
61+
{
62+
if (
63+
fts_broadcaster_->get_lifecycle_state().id() !=
64+
lifecycle_msgs::msg::State::PRIMARY_STATE_UNCONFIGURED)
65+
{
66+
if (
67+
fts_broadcaster_->get_lifecycle_state().id() ==
68+
lifecycle_msgs::msg::State::PRIMARY_STATE_ACTIVE)
69+
{
70+
ASSERT_EQ(fts_broadcaster_->on_deactivate(rclcpp_lifecycle::State()), NODE_SUCCESS);
71+
}
72+
// Clean up the broadcaster
73+
ASSERT_EQ(fts_broadcaster_->on_cleanup(rclcpp_lifecycle::State()), NODE_SUCCESS);
74+
}
75+
fts_broadcaster_.reset(nullptr);
76+
}
77+
// Add a small delay between tests
78+
std::this_thread::sleep_for(std::chrono::milliseconds(50));
79+
}
5280

5381
void ForceTorqueSensorBroadcasterTest::SetUpFTSBroadcaster()
5482
{

0 commit comments

Comments
 (0)