Skip to content

Commit 32d03cd

Browse files
committed
Fix memory leak in test_subscription_nominal (ros2#469)
Signed-off-by: y-okumura-isp <y-okumura@isp.co.jp>
1 parent 4b9c0a3 commit 32d03cd

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

rcl/test/rcl/test_subscription.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -133,16 +133,15 @@ TEST_F(CLASSNAME(TestSubscriptionFixture, RMW_IMPLEMENTATION), test_subscription
133133
rcl_ret_t ret = rcl_publisher_fini(&publisher, this->node_ptr);
134134
EXPECT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
135135
});
136-
rcl_subscription_t subscription = rcl_get_zero_initialized_subscription();
136+
137137
rcl_subscription_options_t subscription_options = rcl_subscription_get_default_options();
138+
139+
rcl_subscription_t subscription = rcl_get_zero_initialized_subscription();
138140
ret = rcl_subscription_init(&subscription, this->node_ptr, ts, topic, &subscription_options);
139141
ASSERT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
140-
OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(
141-
{
142-
rcl_ret_t ret = rcl_subscription_fini(&subscription, this->node_ptr);
143-
EXPECT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
144-
});
145142
EXPECT_EQ(strcmp(rcl_subscription_get_topic_name(&subscription), expected_topic), 0);
143+
ret = rcl_subscription_fini(&subscription, this->node_ptr);
144+
EXPECT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
146145

147146
// Test is_valid for subscription with nullptr
148147
EXPECT_FALSE(rcl_subscription_is_valid(nullptr));
@@ -178,14 +177,15 @@ TEST_F(CLASSNAME(TestSubscriptionFixture, RMW_IMPLEMENTATION), test_subscription
178177
{
179178
test_msgs__msg__BasicTypes msg;
180179
test_msgs__msg__BasicTypes__init(&msg);
181-
OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT(
182-
{
183-
test_msgs__msg__BasicTypes__fini(&msg);
184-
});
180+
OSRF_TESTING_TOOLS_CPP_SCOPE_EXIT({
181+
test_msgs__msg__BasicTypes__fini(&msg);
182+
});
185183
ret = rcl_take(&subscription, &msg, nullptr, nullptr);
186184
ASSERT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
187185
ASSERT_EQ(42, msg.int64_value);
188186
}
187+
ret = rcl_subscription_fini(&subscription, this->node_ptr);
188+
EXPECT_EQ(RCL_RET_OK, ret) << rcl_get_error_string().str;
189189
}
190190

191191
/* Basic nominal test of a publisher with a string.

0 commit comments

Comments
 (0)