Added checks for wait set entities

This commit is contained in:
Alexis Pojomovsky 2018-11-27 14:25:56 -03:00
parent d03d5605c1
commit 10eebe3a3b

View file

@ -301,6 +301,10 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_cancel
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
EXPECT_TRUE(this->is_cancel_request_ready);
EXPECT_FALSE(this->is_goal_request_ready);
EXPECT_FALSE(this->is_result_request_ready);
// Take cancel request with valid arguments // Take cancel request with valid arguments
rmw_request_id_t request_header; rmw_request_id_t request_header;
ret = rcl_action_take_cancel_request( ret = rcl_action_take_cancel_request(
@ -351,6 +355,12 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_cancel
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
EXPECT_TRUE(this->is_cancel_response_ready);
EXPECT_FALSE(this->is_feedback_ready);
EXPECT_FALSE(this->is_status_ready);
EXPECT_FALSE(this->is_goal_response_ready);
EXPECT_FALSE(this->is_result_response_ready);
// Take cancel response with valid arguments // Take cancel response with valid arguments
ret = rcl_action_take_cancel_response( ret = rcl_action_take_cancel_response(
&this->action_client, &request_header, &incoming_cancel_response); &this->action_client, &request_header, &incoming_cancel_response);
@ -411,6 +421,10 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_result
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
EXPECT_TRUE(this->is_result_request_ready);
EXPECT_FALSE(this->is_cancel_request_ready);
EXPECT_FALSE(this->is_goal_request_ready);
// Take result request with valid arguments // Take result request with valid arguments
rmw_request_id_t request_header; rmw_request_id_t request_header;
ret = rcl_action_take_result_request( ret = rcl_action_take_result_request(
@ -454,28 +468,11 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_result
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
// Send result response with invalid action client EXPECT_TRUE(this->is_result_response_ready);
rcl_action_server_t invalid_action_server = rcl_action_get_zero_initialized_server(); EXPECT_FALSE(this->is_cancel_response_ready);
ret = rcl_action_send_result_response( EXPECT_FALSE(this->is_feedback_ready);
&invalid_action_server, &request_header, &outgoing_result_response); EXPECT_FALSE(this->is_status_ready);
EXPECT_EQ(ret, RCL_RET_ACTION_SERVER_INVALID) << rcl_get_error_string().str; EXPECT_FALSE(this->is_goal_response_ready);
rcl_reset_error();
// Send result response with null header
ret = rcl_action_send_result_response(&this->action_server, nullptr, &outgoing_result_response);
EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str;
rcl_reset_error();
// Send result response with null message
ret = rcl_action_send_result_response(&this->action_server, &request_header, nullptr);
EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str;
rcl_reset_error();
// Send result response with valid arguments
ret = rcl_action_send_result_response(
&this->action_server, &request_header, &outgoing_result_response);
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error();
// Take result response with valid arguments // Take result response with valid arguments
ret = rcl_action_take_result_response( ret = rcl_action_take_result_response(
@ -539,6 +536,12 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_status
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
EXPECT_TRUE(this->is_status_ready);
EXPECT_FALSE(this->is_result_response_ready);
EXPECT_FALSE(this->is_cancel_response_ready);
EXPECT_FALSE(this->is_feedback_ready);
EXPECT_FALSE(this->is_goal_response_ready);
// Take status with valid arguments (one goal in array) // Take status with valid arguments (one goal in array)
ret = rcl_action_take_status(&this->action_client, &incoming_status_array); ret = rcl_action_take_status(&this->action_client, &incoming_status_array);
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
@ -598,6 +601,12 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_feedba
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
EXPECT_TRUE(this->is_feedback_ready);
EXPECT_FALSE(this->is_status_ready);
EXPECT_FALSE(this->is_result_response_ready);
EXPECT_FALSE(this->is_cancel_response_ready);
EXPECT_FALSE(this->is_goal_response_ready);
// Take feedback with valid arguments // Take feedback with valid arguments
ret = rcl_action_take_feedback(&this->action_client, &incoming_feedback); ret = rcl_action_take_feedback(&this->action_client, &incoming_feedback);
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;