From e141376298a087cc8c9656b08cd51d8176441fa0 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Tue, 29 Sep 2020 20:59:37 +0000 Subject: [PATCH] Add in two more tests for expand_topic_or_service_name. This gets us to 100% line coverage. Signed-off-by: Chris Lalancette --- .../rclcpp/test_expand_topic_or_service_name.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rclcpp/test/rclcpp/test_expand_topic_or_service_name.cpp b/rclcpp/test/rclcpp/test_expand_topic_or_service_name.cpp index 37c876dd34..841aa8fd1c 100644 --- a/rclcpp/test/rclcpp/test_expand_topic_or_service_name.cpp +++ b/rclcpp/test/rclcpp/test_expand_topic_or_service_name.cpp @@ -218,6 +218,22 @@ TEST(TestExpandTopicOrServiceName, rcl_expand_topic_name_fail_other) { rclcpp::exceptions::RCLError(RCL_RET_ERROR, rcl_get_error_state(), "error not set")); } +TEST(TestExpandTopicOrServiceName, rcl_expand_topic_name_fail_invalid_node_name) { + auto mock = mocking_utils::patch_and_return( + "lib:rclcpp", rcl_expand_topic_name, RCL_RET_NODE_INVALID_NAME); + RCLCPP_EXPECT_THROW_EQ( + rclcpp::expand_topic_or_service_name("chatter", "node", "/ns"), + std::runtime_error("invalid rcl node name but valid rmw node name")); +} + +TEST(TestExpandTopicOrServiceName, rcl_expand_topic_name_fail_invalid_node_namespace) { + auto mock = mocking_utils::patch_and_return( + "lib:rclcpp", rcl_expand_topic_name, RCL_RET_NODE_INVALID_NAMESPACE); + RCLCPP_EXPECT_THROW_EQ( + rclcpp::expand_topic_or_service_name("chatter", "node", "/ns"), + std::runtime_error("invalid rcl namespace but valid rmw namespace")); +} + TEST(TestExpandTopicOrServiceName, rmw_validate_full_topic_name_fail_other) { auto mock = mocking_utils::patch_and_return( "lib:rclcpp", rmw_validate_full_topic_name, RMW_RET_ERROR);