update tests to use separated action types (#340)

* update test to IDL-based action generation

* update test to IDL-based action generation

* fix merge conflict

* update new tests

* update action types

* match renamed action types

* style fix

* update types using unique_identifier_msgs
This commit is contained in:
Dirk Thomas 2019-03-11 21:12:36 -07:00 committed by GitHub
parent 1a34301995
commit 756b065653
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 212 additions and 204 deletions

View file

@ -156,18 +156,18 @@ protected:
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_goal_comm) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_goal_comm)
{ {
test_msgs__action__Fibonacci_Goal_Request outgoing_goal_request; test_msgs__action__Fibonacci_SendGoal_Request outgoing_goal_request;
test_msgs__action__Fibonacci_Goal_Request incoming_goal_request; test_msgs__action__Fibonacci_SendGoal_Request incoming_goal_request;
test_msgs__action__Fibonacci_Goal_Response outgoing_goal_response; test_msgs__action__Fibonacci_SendGoal_Response outgoing_goal_response;
test_msgs__action__Fibonacci_Goal_Response incoming_goal_response; test_msgs__action__Fibonacci_SendGoal_Response incoming_goal_response;
test_msgs__action__Fibonacci_Goal_Request__init(&outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__init(&incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&incoming_goal_request);
test_msgs__action__Fibonacci_Goal_Response__init(&outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&outgoing_goal_response);
test_msgs__action__Fibonacci_Goal_Response__init(&incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&incoming_goal_response);
// Initialize goal request // Initialize goal request
init_test_uuid0(outgoing_goal_request.action_goal_id.uuid); init_test_uuid0(outgoing_goal_request.goal_id.uuid);
outgoing_goal_request.order = 10; outgoing_goal_request.goal.order = 10;
// Send goal request with valid arguments // Send goal request with valid arguments
int64_t sequence_number; int64_t sequence_number;
@ -201,10 +201,10 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_goal_c
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
// Check that the goal request was received correctly // Check that the goal request was received correctly
EXPECT_EQ(outgoing_goal_request.order, incoming_goal_request.order); EXPECT_EQ(outgoing_goal_request.goal.order, incoming_goal_request.goal.order);
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
outgoing_goal_request.action_goal_id.uuid, outgoing_goal_request.goal_id.uuid,
incoming_goal_request.action_goal_id.uuid)); incoming_goal_request.goal_id.uuid));
// Initialize goal response // Initialize goal response
outgoing_goal_response.accepted = true; outgoing_goal_response.accepted = true;
@ -252,10 +252,10 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_goal_c
EXPECT_EQ(outgoing_goal_response.stamp.sec, incoming_goal_response.stamp.sec); EXPECT_EQ(outgoing_goal_response.stamp.sec, incoming_goal_response.stamp.sec);
EXPECT_EQ(outgoing_goal_response.stamp.nanosec, incoming_goal_response.stamp.nanosec); EXPECT_EQ(outgoing_goal_response.stamp.nanosec, incoming_goal_response.stamp.nanosec);
test_msgs__action__Fibonacci_Goal_Request__fini(&outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__fini(&incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&incoming_goal_request);
test_msgs__action__Fibonacci_Goal_Response__fini(&incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&incoming_goal_response);
test_msgs__action__Fibonacci_Goal_Response__fini(&outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&outgoing_goal_response);
} }
@ -385,17 +385,17 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_cancel
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_result_comm) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_result_comm)
{ {
test_msgs__action__Fibonacci_Result_Request outgoing_result_request; test_msgs__action__Fibonacci_GetResult_Request outgoing_result_request;
test_msgs__action__Fibonacci_Result_Request incoming_result_request; test_msgs__action__Fibonacci_GetResult_Request incoming_result_request;
test_msgs__action__Fibonacci_Result_Response outgoing_result_response; test_msgs__action__Fibonacci_GetResult_Response outgoing_result_response;
test_msgs__action__Fibonacci_Result_Response incoming_result_response; test_msgs__action__Fibonacci_GetResult_Response incoming_result_response;
test_msgs__action__Fibonacci_Result_Request__init(&outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&outgoing_result_request);
test_msgs__action__Fibonacci_Result_Request__init(&incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&incoming_result_request);
test_msgs__action__Fibonacci_Result_Response__init(&outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&outgoing_result_response);
test_msgs__action__Fibonacci_Result_Response__init(&incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&incoming_result_response);
// Initialize result request // Initialize result request
init_test_uuid0(outgoing_result_request.action_goal_id.uuid); init_test_uuid0(outgoing_result_request.goal_id.uuid);
// Send result request with valid arguments // Send result request with valid arguments
int64_t sequence_number; int64_t sequence_number;
@ -430,17 +430,17 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_result
// Check that the result request was received correctly // Check that the result request was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
outgoing_result_request.action_goal_id.uuid, outgoing_result_request.goal_id.uuid,
incoming_result_request.action_goal_id.uuid)); incoming_result_request.goal_id.uuid));
// Initialize result response // Initialize result response
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&outgoing_result_response.sequence, 4)); &outgoing_result_response.result.sequence, 4));
outgoing_result_response.sequence.data[0] = 0; outgoing_result_response.result.sequence.data[0] = 0;
outgoing_result_response.sequence.data[1] = 1; outgoing_result_response.result.sequence.data[1] = 1;
outgoing_result_response.sequence.data[2] = 2; outgoing_result_response.result.sequence.data[2] = 2;
outgoing_result_response.sequence.data[3] = 6; outgoing_result_response.result.sequence.data[3] = 6;
outgoing_result_response.action_status = outgoing_result_response.status =
action_msgs__msg__GoalStatus__STATUS_SUCCEEDED; action_msgs__msg__GoalStatus__STATUS_SUCCEEDED;
// Send result response with valid arguments // Send result response with valid arguments
@ -479,17 +479,19 @@ 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;
// Check that the result response was received correctly // Check that the result response was received correctly
EXPECT_EQ(outgoing_result_response.action_status, incoming_result_response.action_status); EXPECT_EQ(outgoing_result_response.status, incoming_result_response.status);
ASSERT_EQ(outgoing_result_response.sequence.size, incoming_result_response.sequence.size); ASSERT_EQ(
outgoing_result_response.result.sequence.size,
incoming_result_response.result.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
outgoing_result_response.sequence.data, outgoing_result_response.result.sequence.data,
incoming_result_response.sequence.data, incoming_result_response.result.sequence.data,
outgoing_result_response.sequence.size)); outgoing_result_response.result.sequence.size));
test_msgs__action__Fibonacci_Result_Request__fini(&incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&incoming_result_request);
test_msgs__action__Fibonacci_Result_Request__fini(&outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&outgoing_result_request);
test_msgs__action__Fibonacci_Result_Response__fini(&incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&incoming_result_response);
test_msgs__action__Fibonacci_Result_Response__fini(&outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&outgoing_result_response);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_status_comm) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_status_comm)
@ -569,18 +571,18 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_status
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_feedback_comm) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_feedback_comm)
{ {
test_msgs__action__Fibonacci_Feedback outgoing_feedback; test_msgs__action__Fibonacci_FeedbackMessage outgoing_feedback;
test_msgs__action__Fibonacci_Feedback incoming_feedback; test_msgs__action__Fibonacci_FeedbackMessage incoming_feedback;
test_msgs__action__Fibonacci_Feedback__init(&outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&outgoing_feedback);
test_msgs__action__Fibonacci_Feedback__init(&incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&incoming_feedback);
// Initialize feedback // Initialize feedback
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&outgoing_feedback.sequence, 3)); &outgoing_feedback.feedback.sequence, 3));
outgoing_feedback.sequence.data[0] = 0; outgoing_feedback.feedback.sequence.data[0] = 0;
outgoing_feedback.sequence.data[1] = 1; outgoing_feedback.feedback.sequence.data[1] = 1;
outgoing_feedback.sequence.data[2] = 2; outgoing_feedback.feedback.sequence.data[2] = 2;
init_test_uuid0(outgoing_feedback.action_goal_id.uuid); init_test_uuid0(outgoing_feedback.goal_id.uuid);
// Publish feedback with valid arguments // Publish feedback with valid arguments
rcl_ret_t ret = rcl_action_publish_feedback(&this->action_server, &outgoing_feedback); rcl_ret_t ret = rcl_action_publish_feedback(&this->action_server, &outgoing_feedback);
@ -615,28 +617,28 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_valid_feedba
// Check that feedback was received correctly // Check that feedback was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
outgoing_feedback.action_goal_id.uuid, outgoing_feedback.goal_id.uuid,
incoming_feedback.action_goal_id.uuid)); incoming_feedback.goal_id.uuid));
ASSERT_EQ(outgoing_feedback.sequence.size, incoming_feedback.sequence.size); ASSERT_EQ(outgoing_feedback.feedback.sequence.size, incoming_feedback.feedback.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
outgoing_feedback.sequence.data, outgoing_feedback.feedback.sequence.data,
incoming_feedback.sequence.data, incoming_feedback.feedback.sequence.data,
outgoing_feedback.sequence.size)); outgoing_feedback.feedback.sequence.size));
test_msgs__action__Fibonacci_Feedback__fini(&incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&incoming_feedback);
test_msgs__action__Fibonacci_Feedback__fini(&outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&outgoing_feedback);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal_request_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal_request_opts)
{ {
test_msgs__action__Fibonacci_Goal_Request outgoing_goal_request; test_msgs__action__Fibonacci_SendGoal_Request outgoing_goal_request;
test_msgs__action__Fibonacci_Goal_Request incoming_goal_request; test_msgs__action__Fibonacci_SendGoal_Request incoming_goal_request;
test_msgs__action__Fibonacci_Goal_Request__init(&outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__init(&incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&incoming_goal_request);
// Initialize goal request // Initialize goal request
init_test_uuid0(outgoing_goal_request.action_goal_id.uuid); init_test_uuid0(outgoing_goal_request.goal_id.uuid);
outgoing_goal_request.order = 10; outgoing_goal_request.goal.order = 10;
int64_t sequence_number = 1234; int64_t sequence_number = 1234;
rcl_ret_t ret = 0; rcl_ret_t ret = 0;
@ -680,16 +682,16 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal
EXPECT_EQ(ret, RCL_RET_ACTION_SERVER_INVALID) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_ACTION_SERVER_INVALID) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
test_msgs__action__Fibonacci_Goal_Request__fini(&outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__fini(&incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&incoming_goal_request);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal_response_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal_response_opts)
{ {
test_msgs__action__Fibonacci_Goal_Response outgoing_goal_response; test_msgs__action__Fibonacci_SendGoal_Response outgoing_goal_response;
test_msgs__action__Fibonacci_Goal_Response incoming_goal_response; test_msgs__action__Fibonacci_SendGoal_Response incoming_goal_response;
test_msgs__action__Fibonacci_Goal_Response__init(&outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&outgoing_goal_response);
test_msgs__action__Fibonacci_Goal_Response__init(&incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&incoming_goal_response);
// Initialize goal response // Initialize goal response
outgoing_goal_response.accepted = true; outgoing_goal_response.accepted = true;
@ -741,8 +743,8 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_goal
EXPECT_EQ(ret, RCL_RET_ACTION_CLIENT_INVALID) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_ACTION_CLIENT_INVALID) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
test_msgs__action__Fibonacci_Goal_Response__fini(&incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&incoming_goal_response);
test_msgs__action__Fibonacci_Goal_Response__fini(&outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&outgoing_goal_response);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_cancel_request_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_cancel_request_opts)
@ -868,13 +870,13 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_canc
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_result_request_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_result_request_opts)
{ {
test_msgs__action__Fibonacci_Result_Request outgoing_result_request; test_msgs__action__Fibonacci_GetResult_Request outgoing_result_request;
test_msgs__action__Fibonacci_Result_Request incoming_result_request; test_msgs__action__Fibonacci_GetResult_Request incoming_result_request;
test_msgs__action__Fibonacci_Result_Request__init(&outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&outgoing_result_request);
test_msgs__action__Fibonacci_Result_Request__init(&incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&incoming_result_request);
// Initialize result request // Initialize result request
init_test_uuid0(outgoing_result_request.action_goal_id.uuid); init_test_uuid0(outgoing_result_request.goal_id.uuid);
// Send result request with null action client // Send result request with null action client
int64_t sequence_number = 1324; int64_t sequence_number = 1324;
@ -918,25 +920,25 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_resu
EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
test_msgs__action__Fibonacci_Result_Request__fini(&incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&incoming_result_request);
test_msgs__action__Fibonacci_Result_Request__fini(&outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&outgoing_result_request);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_result_response_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_result_response_opts)
{ {
test_msgs__action__Fibonacci_Result_Response outgoing_result_response; test_msgs__action__Fibonacci_GetResult_Response outgoing_result_response;
test_msgs__action__Fibonacci_Result_Response incoming_result_response; test_msgs__action__Fibonacci_GetResult_Response incoming_result_response;
test_msgs__action__Fibonacci_Result_Response__init(&outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&outgoing_result_response);
test_msgs__action__Fibonacci_Result_Response__init(&incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&incoming_result_response);
// Initialize result response // Initialize result response
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&outgoing_result_response.sequence, 4)); &outgoing_result_response.result.sequence, 4));
outgoing_result_response.sequence.data[0] = 0; outgoing_result_response.result.sequence.data[0] = 0;
outgoing_result_response.sequence.data[1] = 1; outgoing_result_response.result.sequence.data[1] = 1;
outgoing_result_response.sequence.data[2] = 2; outgoing_result_response.result.sequence.data[2] = 2;
outgoing_result_response.sequence.data[3] = 6; outgoing_result_response.result.sequence.data[3] = 6;
outgoing_result_response.action_status = outgoing_result_response.status =
action_msgs__msg__GoalStatus__STATUS_SUCCEEDED; action_msgs__msg__GoalStatus__STATUS_SUCCEEDED;
// Send result response with null action client // Send result response with null action client
@ -980,24 +982,24 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_resu
EXPECT_EQ(ret, RCL_RET_ACTION_CLIENT_INVALID) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_ACTION_CLIENT_INVALID) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
test_msgs__action__Fibonacci_Result_Response__fini(&incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&incoming_result_response);
test_msgs__action__Fibonacci_Result_Response__fini(&outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&outgoing_result_response);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_feedback_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_feedback_opts)
{ {
test_msgs__action__Fibonacci_Feedback outgoing_feedback; test_msgs__action__Fibonacci_FeedbackMessage outgoing_feedback;
test_msgs__action__Fibonacci_Feedback incoming_feedback; test_msgs__action__Fibonacci_FeedbackMessage incoming_feedback;
test_msgs__action__Fibonacci_Feedback__init(&outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&outgoing_feedback);
test_msgs__action__Fibonacci_Feedback__init(&incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&incoming_feedback);
// Initialize feedback // Initialize feedback
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&outgoing_feedback.sequence, 3)); &outgoing_feedback.feedback.sequence, 3));
outgoing_feedback.sequence.data[0] = 0; outgoing_feedback.feedback.sequence.data[0] = 0;
outgoing_feedback.sequence.data[1] = 1; outgoing_feedback.feedback.sequence.data[1] = 1;
outgoing_feedback.sequence.data[2] = 2; outgoing_feedback.feedback.sequence.data[2] = 2;
init_test_uuid0(outgoing_feedback.action_goal_id.uuid); init_test_uuid0(outgoing_feedback.goal_id.uuid);
// Publish feedback with null action server // Publish feedback with null action server
rcl_ret_t ret = rcl_action_publish_feedback(nullptr, &outgoing_feedback); rcl_ret_t ret = rcl_action_publish_feedback(nullptr, &outgoing_feedback);
@ -1031,8 +1033,8 @@ TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_feed
EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_INVALID_ARGUMENT) << rcl_get_error_string().str;
rcl_reset_error(); rcl_reset_error();
test_msgs__action__Fibonacci_Feedback__fini(&incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&incoming_feedback);
test_msgs__action__Fibonacci_Feedback__fini(&outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&outgoing_feedback);
} }
TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_status_opts) TEST_F(CLASSNAME(TestActionCommunication, RMW_IMPLEMENTATION), test_invalid_status_opts)

View file

@ -36,16 +36,16 @@ class CLASSNAME (TestActionClientServerInteraction, RMW_IMPLEMENTATION) : public
protected: protected:
void SetUp() override void SetUp() override
{ {
test_msgs__action__Fibonacci_Goal_Request__init(&this->outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&this->outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__init(&this->incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__init(&this->incoming_goal_request);
test_msgs__action__Fibonacci_Goal_Response__init(&this->outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&this->outgoing_goal_response);
test_msgs__action__Fibonacci_Goal_Response__init(&this->incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__init(&this->incoming_goal_response);
test_msgs__action__Fibonacci_Result_Request__init(&this->outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&this->outgoing_result_request);
test_msgs__action__Fibonacci_Result_Request__init(&this->incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__init(&this->incoming_result_request);
test_msgs__action__Fibonacci_Result_Response__init(&this->outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&this->outgoing_result_response);
test_msgs__action__Fibonacci_Result_Response__init(&this->incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__init(&this->incoming_result_response);
test_msgs__action__Fibonacci_Feedback__init(&this->outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&this->outgoing_feedback);
test_msgs__action__Fibonacci_Feedback__init(&this->incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__init(&this->incoming_feedback);
rcl_allocator_t allocator = rcl_get_default_allocator(); rcl_allocator_t allocator = rcl_get_default_allocator();
@ -118,16 +118,16 @@ protected:
void TearDown() override void TearDown() override
{ {
// Finalize // Finalize
test_msgs__action__Fibonacci_Goal_Request__fini(&this->outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&this->outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__fini(&this->incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&this->incoming_goal_request);
test_msgs__action__Fibonacci_Goal_Response__fini(&this->incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&this->incoming_goal_response);
test_msgs__action__Fibonacci_Goal_Response__fini(&this->outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&this->outgoing_goal_response);
test_msgs__action__Fibonacci_Result_Request__fini(&this->incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&this->incoming_result_request);
test_msgs__action__Fibonacci_Result_Request__fini(&this->outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&this->outgoing_result_request);
test_msgs__action__Fibonacci_Result_Response__fini(&this->incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&this->incoming_result_response);
test_msgs__action__Fibonacci_Result_Response__fini(&this->outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&this->outgoing_result_response);
test_msgs__action__Fibonacci_Feedback__fini(&this->outgoing_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&this->outgoing_feedback);
test_msgs__action__Fibonacci_Feedback__fini(&this->incoming_feedback); test_msgs__action__Fibonacci_FeedbackMessage__fini(&this->incoming_feedback);
rcl_ret_t ret = rcl_action_server_fini(&this->action_server, &this->node); rcl_ret_t ret = rcl_action_server_fini(&this->action_server, &this->node);
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
ret = rcl_clock_fini(&this->clock); ret = rcl_clock_fini(&this->clock);
@ -156,16 +156,16 @@ protected:
} }
} }
test_msgs__action__Fibonacci_Goal_Request outgoing_goal_request; test_msgs__action__Fibonacci_SendGoal_Request outgoing_goal_request;
test_msgs__action__Fibonacci_Goal_Request incoming_goal_request; test_msgs__action__Fibonacci_SendGoal_Request incoming_goal_request;
test_msgs__action__Fibonacci_Goal_Response outgoing_goal_response; test_msgs__action__Fibonacci_SendGoal_Response outgoing_goal_response;
test_msgs__action__Fibonacci_Goal_Response incoming_goal_response; test_msgs__action__Fibonacci_SendGoal_Response incoming_goal_response;
test_msgs__action__Fibonacci_Result_Request outgoing_result_request; test_msgs__action__Fibonacci_GetResult_Request outgoing_result_request;
test_msgs__action__Fibonacci_Result_Request incoming_result_request; test_msgs__action__Fibonacci_GetResult_Request incoming_result_request;
test_msgs__action__Fibonacci_Result_Response outgoing_result_response; test_msgs__action__Fibonacci_GetResult_Response outgoing_result_response;
test_msgs__action__Fibonacci_Result_Response incoming_result_response; test_msgs__action__Fibonacci_GetResult_Response incoming_result_response;
test_msgs__action__Fibonacci_Feedback outgoing_feedback; test_msgs__action__Fibonacci_FeedbackMessage outgoing_feedback;
test_msgs__action__Fibonacci_Feedback incoming_feedback; test_msgs__action__Fibonacci_FeedbackMessage incoming_feedback;
rcl_action_client_t action_client; rcl_action_client_t action_client;
rcl_action_server_t action_server; rcl_action_server_t action_server;
@ -197,8 +197,8 @@ protected:
TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_interaction) TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_interaction)
{ {
// Initialize goal request // Initialize goal request
init_test_uuid0(this->outgoing_goal_request.action_goal_id.uuid); init_test_uuid0(this->outgoing_goal_request.goal_id.uuid);
this->outgoing_goal_request.order = 10; this->outgoing_goal_request.goal.order = 10;
// Send goal request with valid arguments // Send goal request with valid arguments
int64_t sequence_number; int64_t sequence_number;
@ -235,10 +235,10 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
// Check that the goal request was received correctly // Check that the goal request was received correctly
EXPECT_EQ(this->outgoing_goal_request.order, this->incoming_goal_request.order); EXPECT_EQ(this->outgoing_goal_request.goal.order, this->incoming_goal_request.goal.order);
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_goal_request.action_goal_id.uuid, this->outgoing_goal_request.goal_id.uuid,
this->incoming_goal_request.action_goal_id.uuid)); this->incoming_goal_request.goal_id.uuid));
// Initialize goal response // Initialize goal response
this->outgoing_goal_response.accepted = true; this->outgoing_goal_response.accepted = true;
@ -288,7 +288,7 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
EXPECT_EQ(this->outgoing_goal_response.stamp.nanosec, this->incoming_goal_response.stamp.nanosec); EXPECT_EQ(this->outgoing_goal_response.stamp.nanosec, this->incoming_goal_response.stamp.nanosec);
// Initialize result request // Initialize result request
init_test_uuid0(this->outgoing_result_request.action_goal_id.uuid); init_test_uuid0(this->outgoing_result_request.goal_id.uuid);
// Send result request with valid arguments // Send result request with valid arguments
ret = rcl_action_send_result_request( ret = rcl_action_send_result_request(
@ -297,11 +297,11 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
// Initialize feedback // Initialize feedback
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&this->outgoing_feedback.sequence, 3)); &this->outgoing_feedback.feedback.sequence, 3));
this->outgoing_feedback.sequence.data[0] = 0; this->outgoing_feedback.feedback.sequence.data[0] = 0;
this->outgoing_feedback.sequence.data[1] = 1; this->outgoing_feedback.feedback.sequence.data[1] = 1;
this->outgoing_feedback.sequence.data[2] = 2; this->outgoing_feedback.feedback.sequence.data[2] = 2;
init_test_uuid0(this->outgoing_feedback.action_goal_id.uuid); init_test_uuid0(this->outgoing_feedback.goal_id.uuid);
// Publish feedback with valid arguments // Publish feedback with valid arguments
ret = rcl_action_publish_feedback(&this->action_server, &this->outgoing_feedback); ret = rcl_action_publish_feedback(&this->action_server, &this->outgoing_feedback);
@ -339,13 +339,15 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
// Check that feedback was received correctly // Check that feedback was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_feedback.action_goal_id.uuid, this->outgoing_feedback.goal_id.uuid,
this->incoming_feedback.action_goal_id.uuid)); this->incoming_feedback.goal_id.uuid));
ASSERT_EQ(this->outgoing_feedback.sequence.size, this->incoming_feedback.sequence.size); ASSERT_EQ(
this->outgoing_feedback.feedback.sequence.size,
this->incoming_feedback.feedback.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
this->outgoing_feedback.sequence.data, this->outgoing_feedback.feedback.sequence.data,
this->incoming_feedback.sequence.data, this->incoming_feedback.feedback.sequence.data,
this->outgoing_feedback.sequence.size)); this->outgoing_feedback.feedback.sequence.size));
ret = rcl_wait_set_clear(&this->wait_set); ret = rcl_wait_set_clear(&this->wait_set);
@ -377,17 +379,17 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
// Check that the result request was received correctly // Check that the result request was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_result_request.action_goal_id.uuid, this->outgoing_result_request.goal_id.uuid,
this->incoming_result_request.action_goal_id.uuid)); this->incoming_result_request.goal_id.uuid));
// Initialize result response // Initialize result response
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&this->outgoing_result_response.sequence, 4)); &this->outgoing_result_response.result.sequence, 4));
this->outgoing_result_response.sequence.data[0] = 0; this->outgoing_result_response.result.sequence.data[0] = 0;
this->outgoing_result_response.sequence.data[1] = 1; this->outgoing_result_response.result.sequence.data[1] = 1;
this->outgoing_result_response.sequence.data[2] = 2; this->outgoing_result_response.result.sequence.data[2] = 2;
this->outgoing_result_response.sequence.data[3] = 6; this->outgoing_result_response.result.sequence.data[3] = 6;
this->outgoing_result_response.action_status = this->outgoing_result_response.status =
action_msgs__msg__GoalStatus__STATUS_SUCCEEDED; action_msgs__msg__GoalStatus__STATUS_SUCCEEDED;
// Send result response with valid arguments // Send result response with valid arguments
@ -428,14 +430,15 @@ TEST_F(CLASSNAME(TestActionClientServerInteraction, RMW_IMPLEMENTATION), test_in
// Check that the result response was received correctly // Check that the result response was received correctly
EXPECT_EQ( EXPECT_EQ(
this->outgoing_result_response.action_status, this->outgoing_result_response.status,
this->incoming_result_response.action_status); this->incoming_result_response.status);
ASSERT_EQ( ASSERT_EQ(
this->outgoing_result_response.sequence.size, this->incoming_result_response.sequence.size); this->outgoing_result_response.result.sequence.size,
this->incoming_result_response.result.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
this->outgoing_result_response.sequence.data, this->outgoing_result_response.result.sequence.data,
this->incoming_result_response.sequence.data, this->incoming_result_response.result.sequence.data,
this->outgoing_result_response.sequence.size)); this->outgoing_result_response.result.sequence.size));
} }
// Exercises the "Example 2" sequence diagram found in the actions_proposal document. // Exercises the "Example 2" sequence diagram found in the actions_proposal document.
@ -455,8 +458,8 @@ TEST_F(
action_msgs__srv__CancelGoal_Response__init(&incoming_cancel_response); action_msgs__srv__CancelGoal_Response__init(&incoming_cancel_response);
// Initialize goal request // Initialize goal request
init_test_uuid0(this->outgoing_goal_request.action_goal_id.uuid); init_test_uuid0(this->outgoing_goal_request.goal_id.uuid);
this->outgoing_goal_request.order = 10; this->outgoing_goal_request.goal.order = 10;
// Send goal request with valid arguments // Send goal request with valid arguments
int64_t sequence_number; int64_t sequence_number;
@ -493,10 +496,10 @@ TEST_F(
EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str; EXPECT_EQ(ret, RCL_RET_OK) << rcl_get_error_string().str;
// Check that the goal request was received correctly // Check that the goal request was received correctly
EXPECT_EQ(this->outgoing_goal_request.order, this->incoming_goal_request.order); EXPECT_EQ(this->outgoing_goal_request.goal.order, this->incoming_goal_request.goal.order);
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_goal_request.action_goal_id.uuid, this->outgoing_goal_request.goal_id.uuid,
this->incoming_goal_request.action_goal_id.uuid)); this->incoming_goal_request.goal_id.uuid));
// Initialize goal response // Initialize goal response
this->outgoing_goal_response.accepted = true; this->outgoing_goal_response.accepted = true;
@ -546,7 +549,7 @@ TEST_F(
EXPECT_EQ(this->outgoing_goal_response.stamp.nanosec, this->incoming_goal_response.stamp.nanosec); EXPECT_EQ(this->outgoing_goal_response.stamp.nanosec, this->incoming_goal_response.stamp.nanosec);
// Initialize result request // Initialize result request
init_test_uuid0(this->outgoing_result_request.action_goal_id.uuid); init_test_uuid0(this->outgoing_result_request.goal_id.uuid);
// Send result request with valid arguments // Send result request with valid arguments
ret = rcl_action_send_result_request( ret = rcl_action_send_result_request(
@ -555,11 +558,11 @@ TEST_F(
// Initialize feedback // Initialize feedback
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&this->outgoing_feedback.sequence, 3)); &this->outgoing_feedback.feedback.sequence, 3));
this->outgoing_feedback.sequence.data[0] = 0; this->outgoing_feedback.feedback.sequence.data[0] = 0;
this->outgoing_feedback.sequence.data[1] = 1; this->outgoing_feedback.feedback.sequence.data[1] = 1;
this->outgoing_feedback.sequence.data[2] = 2; this->outgoing_feedback.feedback.sequence.data[2] = 2;
init_test_uuid0(this->outgoing_feedback.action_goal_id.uuid); init_test_uuid0(this->outgoing_feedback.goal_id.uuid);
// Publish feedback with valid arguments // Publish feedback with valid arguments
ret = rcl_action_publish_feedback(&this->action_server, &this->outgoing_feedback); ret = rcl_action_publish_feedback(&this->action_server, &this->outgoing_feedback);
@ -597,13 +600,15 @@ TEST_F(
// Check that feedback was received correctly // Check that feedback was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_feedback.action_goal_id.uuid, this->outgoing_feedback.goal_id.uuid,
this->incoming_feedback.action_goal_id.uuid)); this->incoming_feedback.goal_id.uuid));
ASSERT_EQ(this->outgoing_feedback.sequence.size, this->incoming_feedback.sequence.size); ASSERT_EQ(
this->outgoing_feedback.feedback.sequence.size,
this->incoming_feedback.feedback.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
this->outgoing_feedback.sequence.data, this->outgoing_feedback.feedback.sequence.data,
this->incoming_feedback.sequence.data, this->incoming_feedback.feedback.sequence.data,
this->outgoing_feedback.sequence.size)); this->outgoing_feedback.feedback.sequence.size));
ret = rcl_wait_set_clear(&this->wait_set); ret = rcl_wait_set_clear(&this->wait_set);
@ -635,17 +640,17 @@ TEST_F(
// Check that the result request was received correctly // Check that the result request was received correctly
EXPECT_TRUE(uuidcmp( EXPECT_TRUE(uuidcmp(
this->outgoing_result_request.action_goal_id.uuid, this->outgoing_result_request.goal_id.uuid,
this->incoming_result_request.action_goal_id.uuid)); this->incoming_result_request.goal_id.uuid));
// Initialize result response // Initialize result response
ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init( ASSERT_TRUE(rosidl_generator_c__int32__Sequence__init(
&this->outgoing_result_response.sequence, 4)); &this->outgoing_result_response.result.sequence, 4));
this->outgoing_result_response.sequence.data[0] = 0; this->outgoing_result_response.result.sequence.data[0] = 0;
this->outgoing_result_response.sequence.data[1] = 1; this->outgoing_result_response.result.sequence.data[1] = 1;
this->outgoing_result_response.sequence.data[2] = 2; this->outgoing_result_response.result.sequence.data[2] = 2;
this->outgoing_result_response.sequence.data[3] = 6; this->outgoing_result_response.result.sequence.data[3] = 6;
this->outgoing_result_response.action_status = this->outgoing_result_response.status =
action_msgs__msg__GoalStatus__STATUS_SUCCEEDED; action_msgs__msg__GoalStatus__STATUS_SUCCEEDED;
// Initialize cancel request // Initialize cancel request
@ -790,23 +795,24 @@ TEST_F(
// Check that the result response was received correctly // Check that the result response was received correctly
EXPECT_EQ( EXPECT_EQ(
this->outgoing_result_response.action_status, this->outgoing_result_response.status,
this->incoming_result_response.action_status); this->incoming_result_response.status);
ASSERT_EQ( ASSERT_EQ(
this->outgoing_result_response.sequence.size, this->incoming_result_response.sequence.size); this->outgoing_result_response.result.sequence.size,
this->incoming_result_response.result.sequence.size);
EXPECT_TRUE(!memcmp( EXPECT_TRUE(!memcmp(
this->outgoing_result_response.sequence.data, this->outgoing_result_response.result.sequence.data,
this->incoming_result_response.sequence.data, this->incoming_result_response.result.sequence.data,
this->outgoing_result_response.sequence.size)); this->outgoing_result_response.result.sequence.size));
test_msgs__action__Fibonacci_Goal_Request__fini(&this->outgoing_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&this->outgoing_goal_request);
test_msgs__action__Fibonacci_Goal_Request__fini(&this->incoming_goal_request); test_msgs__action__Fibonacci_SendGoal_Request__fini(&this->incoming_goal_request);
test_msgs__action__Fibonacci_Goal_Response__fini(&this->incoming_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&this->incoming_goal_response);
test_msgs__action__Fibonacci_Goal_Response__fini(&this->outgoing_goal_response); test_msgs__action__Fibonacci_SendGoal_Response__fini(&this->outgoing_goal_response);
test_msgs__action__Fibonacci_Result_Request__fini(&this->incoming_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&this->incoming_result_request);
test_msgs__action__Fibonacci_Result_Request__fini(&this->outgoing_result_request); test_msgs__action__Fibonacci_GetResult_Request__fini(&this->outgoing_result_request);
test_msgs__action__Fibonacci_Result_Response__fini(&this->incoming_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&this->incoming_result_response);
test_msgs__action__Fibonacci_Result_Response__fini(&this->outgoing_result_response); test_msgs__action__Fibonacci_GetResult_Response__fini(&this->outgoing_result_response);
action_msgs__srv__CancelGoal_Request__fini(&incoming_cancel_request); action_msgs__srv__CancelGoal_Request__fini(&incoming_cancel_request);
action_msgs__srv__CancelGoal_Request__fini(&outgoing_cancel_request); action_msgs__srv__CancelGoal_Request__fini(&outgoing_cancel_request);
action_msgs__srv__CancelGoal_Response__fini(&incoming_cancel_response); action_msgs__srv__CancelGoal_Response__fini(&incoming_cancel_response);