@@ -94,7 +94,7 @@ TEST_F(PauseResumeControllerTestFixture, test_incorrect_num_children)
94
94
</root>)" ;
95
95
EXPECT_THROW (
96
96
auto tree = factory_->createTreeFromText (xml_txt, config_->blackboard ),
97
- std::runtime_error );
97
+ BT::RuntimeError );
98
98
}
99
99
100
100
TEST_F (PauseResumeControllerTestFixture, test_unused_children)
@@ -136,11 +136,11 @@ TEST_F(PauseResumeControllerTestFixture, test_unused_children)
136
136
EXPECT_EQ (future.get ()->success , true );
137
137
};
138
138
139
- // Call pause service, expect RUNNING and ON_PAUSE
139
+ // Call pause service, expect RUNNING and PAUSED
140
140
auto future = pause_client_->async_send_request (
141
141
std::make_shared<std_srvs::srv::Trigger::Request>());
142
142
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING);
143
- EXPECT_EQ (pause_bt_node->getState (), state_t ::ON_PAUSE );
143
+ EXPECT_EQ (pause_bt_node->getState (), state_t ::PAUSED );
144
144
check_request_succeeded (future);
145
145
146
146
// Tick again, expect RUNNING and PAUSED
@@ -151,7 +151,7 @@ TEST_F(PauseResumeControllerTestFixture, test_unused_children)
151
151
future = resume_client_->async_send_request (
152
152
std::make_shared<std_srvs::srv::Trigger::Request>());
153
153
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING);
154
- EXPECT_EQ (pause_bt_node->getState (), state_t ::ON_RESUME );
154
+ EXPECT_EQ (pause_bt_node->getState (), state_t ::RESUMED );
155
155
check_request_succeeded (future);
156
156
157
157
// Tick again, expect RUNNING and RESUMED
@@ -206,20 +206,21 @@ TEST_F(PauseResumeControllerTestFixture, test_behavior)
206
206
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING);
207
207
EXPECT_EQ (pause_bt_node->getState (), state_t ::RESUMED);
208
208
209
- const auto & check_request_succeeded = [](
210
- rclcpp::Client<std_srvs::srv::Trigger>::FutureAndRequestId & future)
209
+ const auto & check_future_result = [](
210
+ rclcpp::Client<std_srvs::srv::Trigger>::FutureAndRequestId & future, bool success = true )
211
+ -> void
211
212
{
212
213
executor_->spin_until_future_complete (future, std::chrono::seconds (1 ));
213
214
ASSERT_EQ (future.wait_for (std::chrono::seconds (0 )), std::future_status::ready);
214
- EXPECT_EQ (future.get ()->success , true );
215
+ EXPECT_EQ (future.get ()->success , success );
215
216
};
216
217
217
218
// Call pause service, set ON_PAUSE child to RUNNING, expect RUNNING and ON_PAUSE
218
219
auto future = pause_client_->async_send_request (
219
220
std::make_shared<std_srvs::srv::Trigger::Request>());
220
221
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING);
221
222
EXPECT_EQ (pause_bt_node->getState (), state_t ::ON_PAUSE);
222
- check_request_succeeded (future);
223
+ check_future_result (future);
223
224
224
225
// Change ON_PAUSE child to SUCCESS, expect RUNNING and PAUSED
225
226
on_pause_child->changeStatus (BT::NodeStatus::SUCCESS);
@@ -242,14 +243,14 @@ TEST_F(PauseResumeControllerTestFixture, test_behavior)
242
243
std::make_shared<std_srvs::srv::Trigger::Request>());
243
244
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING);
244
245
EXPECT_EQ (pause_bt_node->getState (), state_t ::PAUSED);
245
- check_request_succeeded (future);
246
+ check_future_result (future, false );
246
247
247
248
// Call resume service, change ON_RESUME child to FAILURE, expect FAILURE
248
249
future = resume_client_->async_send_request (
249
250
std::make_shared<std_srvs::srv::Trigger::Request>());
250
251
on_resume_child->changeStatus (BT::NodeStatus::FAILURE);
251
252
EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::FAILURE);
252
- check_request_succeeded (future);
253
+ check_future_result (future);
253
254
254
255
// Halt the tree, expect RUNNING and RESUMED
255
256
tree_->haltTree ();
@@ -264,9 +265,9 @@ TEST_F(PauseResumeControllerTestFixture, test_behavior)
264
265
// Call resume service again, expect RUNNING and RESUMED
265
266
future = resume_client_->async_send_request (
266
267
std::make_shared<std_srvs::srv::Trigger::Request>());
267
- EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::RUNNING );
268
+ EXPECT_EQ (tree_->rootNode ()->executeTick (), BT::NodeStatus::SUCCESS );
268
269
EXPECT_EQ (pause_bt_node->getState (), state_t ::RESUMED);
269
- check_request_succeeded (future);
270
+ check_future_result (future, false );
270
271
}
271
272
272
273
int main (int argc, char ** argv)
0 commit comments