From b25848be33411eb75db4c37d6ad7ac64aa9e6b86 Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Tue, 14 Feb 2023 08:31:54 -0500 Subject: [PATCH 1/9] Update expected typesupport identifier Signed-off-by: Crola1702 --- .../test/rosidl_typesupport_c/test_service_typesupport.cpp | 4 ++-- .../test/rosidl_typesupport_cpp/test_service_typesupport.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index ecc1df0a..f272e7ed 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -51,8 +51,8 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__srv__BasicTypes_Event(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_c"); - EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_c"); + EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); EXPECT_EQ(srv_ts->event_typesupport, msg_ts); diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index d711422e..3ede75bb 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -181,6 +181,6 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_tests::action::Fibonacci_GetResult::Event>(); ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); } From 36556ce8680889d90799fa67ea36bf7cbc0f4274 Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Tue, 14 Feb 2023 15:49:05 -0500 Subject: [PATCH 2/9] Updated all introspection identifiers Signed-off-by: Crola1702 --- .../test/rosidl_typesupport_c/test_service_typesupport.cpp | 4 ++-- .../test/rosidl_typesupport_cpp/test_service_typesupport.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index f272e7ed..c49c8dfc 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -177,6 +177,6 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_GetResult_Event(); // NOLINT ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_c"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_c"); + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); } diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index 3ede75bb..4d4d58e8 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -57,8 +57,8 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_cpp"); - EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); // typesupports are static so this comparison *should* be valid? EXPECT_EQ(srv_ts->event_typesupport, msg_ts); From 7f3732a88413d5326392a1a35f2e42536f5ba1dc Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Tue, 14 Feb 2023 16:18:43 -0500 Subject: [PATCH 3/9] Fix linters Signed-off-by: Crola1702 --- .../test_service_typesupport.cpp | 12 ++++++++---- .../test_service_typesupport.cpp | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index c49c8dfc..2591e180 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -51,8 +51,10 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__srv__BasicTypes_Event(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); - EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(srv_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); EXPECT_EQ(srv_ts->event_typesupport, msg_ts); @@ -177,6 +179,8 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_GetResult_Event(); // NOLINT ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); } diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index 4d4d58e8..05fa46e5 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -57,8 +57,10 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); - EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(srv_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); // typesupports are static so this comparison *should* be valid? EXPECT_EQ(srv_ts->event_typesupport, msg_ts); @@ -181,6 +183,8 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_tests::action::Fibonacci_GetResult::Event>(); ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); } From 50869c3bd55c111fb5f01acab3065f9276849bce Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Wed, 15 Feb 2023 10:16:58 -0500 Subject: [PATCH 4/9] Add conditional for cyclonedds Signed-off-by: Crola1702 --- .../test_service_typesupport.cpp | 43 +++++++++++++++---- .../test_service_typesupport.cpp | 43 +++++++++++++++---- 2 files changed, 70 insertions(+), 16 deletions(-) diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index 2591e180..2522d436 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -12,12 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include #include #include "gtest/gtest.h" #include "rcutils/allocator.h" +#include "rcutils/env.h" #include "rosidl_runtime_c/string_functions.h" @@ -51,10 +53,22 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__srv__BasicTypes_Event(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, - "rosidl_typesupport_introspection_c"); - EXPECT_STREQ(msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_c"); + const char * expected_rmw_impl_env = NULL; + rcutils_get_env( + "RMW_IMPLEMENTATION", + &expected_rmw_impl_env); + + if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + EXPECT_STREQ( + srv_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + EXPECT_STREQ( + msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + } else { + EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_c"); + EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_c"); + } EXPECT_EQ(srv_ts->event_typesupport, msg_ts); @@ -173,14 +187,27 @@ TEST(test_service_typesupport, basic_types_event_message_create) TEST(test_service_typesupport, fibonacci_action_services_event) { + const char * expected_rmw_impl_env = NULL; + rcutils_get_env( + "RMW_IMPLEMENTATION", + &expected_rmw_impl_env); + const rosidl_message_type_support_t * send_goal_event_msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_SendGoal_Event(); // NOLINT const rosidl_message_type_support_t * get_result_event_msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_GetResult_Event(); // NOLINT ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_c"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_c"); + + if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + EXPECT_STREQ( + send_goal_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + EXPECT_STREQ( + get_result_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_c"); + } else { + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_c"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_c"); + } } diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index 05fa46e5..f37e8737 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include #include #include @@ -19,6 +20,7 @@ #include "gtest/gtest.h" #include "rcutils/allocator.h" +#include "rcutils/env.h" #include "rosidl_typesupport_cpp/message_type_support.hpp" #include "rosidl_typesupport_cpp/service_type_support.hpp" @@ -57,10 +59,22 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle(); // NOLINT - EXPECT_STREQ(srv_ts->typesupport_identifier, - "rosidl_typesupport_introspection_cpp"); - EXPECT_STREQ(msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_cpp"); + const char * expected_rmw_impl_env = NULL; + rcutils_get_env( + "RMW_IMPLEMENTATION", + &expected_rmw_impl_env); + + if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + EXPECT_STREQ( + srv_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ( + msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + } else { + EXPECT_STREQ(srv_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + EXPECT_STREQ(msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + } // typesupports are static so this comparison *should* be valid? EXPECT_EQ(srv_ts->event_typesupport, msg_ts); @@ -175,6 +189,11 @@ TEST(test_service_typesupport, basic_types_event_message_create) TEST(test_service_typesupport, fibonacci_action_services_event) { + const char * expected_rmw_impl_env = NULL; + rcutils_get_env( + "RMW_IMPLEMENTATION", + &expected_rmw_impl_env); + const rosidl_message_type_support_t * send_goal_event_msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle< rosidl_typesupport_tests::action::Fibonacci_SendGoal::Event>(); @@ -183,8 +202,16 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_tests::action::Fibonacci_GetResult::Event>(); ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_cpp"); - EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, - "rosidl_typesupport_introspection_cpp"); + + if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + EXPECT_STREQ( + send_goal_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + EXPECT_STREQ( + get_result_event_msg_ts->typesupport_identifier, + "rosidl_typesupport_introspection_cpp"); + } else { + EXPECT_STREQ(send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + EXPECT_STREQ(get_result_event_msg_ts->typesupport_identifier, "rosidl_typesupport_cpp"); + } } From 6300d57d2a338ba640295b593f0bd7db239e566b Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Wed, 15 Feb 2023 21:06:31 -0500 Subject: [PATCH 5/9] Use rmw.h instead of env variables Signed-off-by: Crola1702 --- rosidl_typesupport_tests/CMakeLists.txt | 4 ++++ rosidl_typesupport_tests/package.xml | 1 + .../test_service_typesupport.cpp | 17 +++++--------- .../test_service_typesupport.cpp | 22 +++++-------------- 4 files changed, 16 insertions(+), 28 deletions(-) diff --git a/rosidl_typesupport_tests/CMakeLists.txt b/rosidl_typesupport_tests/CMakeLists.txt index 7dcc5c1a..a919a8aa 100644 --- a/rosidl_typesupport_tests/CMakeLists.txt +++ b/rosidl_typesupport_tests/CMakeLists.txt @@ -15,6 +15,7 @@ if(BUILD_TESTING) find_package(test_interface_files REQUIRED) find_package(rcutils REQUIRED) find_package(rosidl_generator_cpp REQUIRED) + find_package(rmw REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} ${test_interface_files_MSG_FILES} @@ -39,6 +40,9 @@ if(BUILD_TESTING) target_link_libraries(test_service_typesupport_c "${c_typesupport_target}" ) + + ament_target_dependencies(test_service_typesupport_cpp rmw) + ament_target_dependencies(test_service_typesupport_c rmw) endif() ament_package() diff --git a/rosidl_typesupport_tests/package.xml b/rosidl_typesupport_tests/package.xml index 938ff0d5..a27e84cd 100644 --- a/rosidl_typesupport_tests/package.xml +++ b/rosidl_typesupport_tests/package.xml @@ -21,6 +21,7 @@ test_interface_files service_msgs action_msgs + rmw ament_cmake diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index 2522d436..0ef10a11 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include +#include #include #include @@ -26,6 +26,8 @@ #include "rosidl_typesupport_tests/action/fibonacci.h" #include "rosidl_typesupport_tests/srv/basic_types.h" +#include "rmw/rmw.h" + TEST(test_service_typesupport, event_message_create_and_destroy_invalid_arguments) { rcutils_allocator_t allocator = rcutils_get_default_allocator(); @@ -53,12 +55,7 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__srv__BasicTypes_Event(); // NOLINT - const char * expected_rmw_impl_env = NULL; - rcutils_get_env( - "RMW_IMPLEMENTATION", - &expected_rmw_impl_env); - - if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { EXPECT_STREQ( srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); @@ -187,10 +184,6 @@ TEST(test_service_typesupport, basic_types_event_message_create) TEST(test_service_typesupport, fibonacci_action_services_event) { - const char * expected_rmw_impl_env = NULL; - rcutils_get_env( - "RMW_IMPLEMENTATION", - &expected_rmw_impl_env); const rosidl_message_type_support_t * send_goal_event_msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_SendGoal_Event(); // NOLINT @@ -199,7 +192,7 @@ TEST(test_service_typesupport, fibonacci_action_services_event) ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { EXPECT_STREQ( send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index f37e8737..5c9606ae 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include +#include #include #include #include @@ -20,7 +20,6 @@ #include "gtest/gtest.h" #include "rcutils/allocator.h" -#include "rcutils/env.h" #include "rosidl_typesupport_cpp/message_type_support.hpp" #include "rosidl_typesupport_cpp/service_type_support.hpp" @@ -28,6 +27,8 @@ #include "rosidl_typesupport_tests/action/fibonacci.hpp" #include "rosidl_typesupport_tests/srv/basic_types.hpp" +#include "rmw/rmw.h" + TEST(test_service_typesupport, event_message_create_and_destroy_invalid_arguments) { rcutils_allocator_t allocator = rcutils_get_default_allocator(); @@ -58,13 +59,8 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle(); // NOLINT - - const char * expected_rmw_impl_env = NULL; - rcutils_get_env( - "RMW_IMPLEMENTATION", - &expected_rmw_impl_env); - - if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + // + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { EXPECT_STREQ( srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); @@ -189,11 +185,6 @@ TEST(test_service_typesupport, basic_types_event_message_create) TEST(test_service_typesupport, fibonacci_action_services_event) { - const char * expected_rmw_impl_env = NULL; - rcutils_get_env( - "RMW_IMPLEMENTATION", - &expected_rmw_impl_env); - const rosidl_message_type_support_t * send_goal_event_msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle< rosidl_typesupport_tests::action::Fibonacci_SendGoal::Event>(); @@ -202,8 +193,7 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_tests::action::Fibonacci_GetResult::Event>(); ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - - if (strcmp(expected_rmw_impl_env, "rmw_cyclonedds_cpp") == 0) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { EXPECT_STREQ( send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); From 8d045b3f7f9e4127b90d251b70dc1559c26ee178 Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Thu, 16 Feb 2023 16:10:29 -0500 Subject: [PATCH 6/9] Add rmw_implementation dependency Signed-off-by: Crola1702 --- rosidl_typesupport_tests/CMakeLists.txt | 1 + rosidl_typesupport_tests/package.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/rosidl_typesupport_tests/CMakeLists.txt b/rosidl_typesupport_tests/CMakeLists.txt index a919a8aa..c08e9182 100644 --- a/rosidl_typesupport_tests/CMakeLists.txt +++ b/rosidl_typesupport_tests/CMakeLists.txt @@ -16,6 +16,7 @@ if(BUILD_TESTING) find_package(rcutils REQUIRED) find_package(rosidl_generator_cpp REQUIRED) find_package(rmw REQUIRED) + find_package(rmw_implementation REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} ${test_interface_files_MSG_FILES} diff --git a/rosidl_typesupport_tests/package.xml b/rosidl_typesupport_tests/package.xml index a27e84cd..862cf2cc 100644 --- a/rosidl_typesupport_tests/package.xml +++ b/rosidl_typesupport_tests/package.xml @@ -22,6 +22,7 @@ service_msgs action_msgs rmw + rmw_implementation ament_cmake From b71f4d00eeacb9b7ef50762139f473902e4ed7c9 Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Fri, 17 Feb 2023 07:03:09 -0500 Subject: [PATCH 7/9] Added rmw_implementation as test dependency Signed-off-by: Crola1702 --- rosidl_typesupport_tests/CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rosidl_typesupport_tests/CMakeLists.txt b/rosidl_typesupport_tests/CMakeLists.txt index c08e9182..8e327283 100644 --- a/rosidl_typesupport_tests/CMakeLists.txt +++ b/rosidl_typesupport_tests/CMakeLists.txt @@ -42,8 +42,14 @@ if(BUILD_TESTING) "${c_typesupport_target}" ) - ament_target_dependencies(test_service_typesupport_cpp rmw) - ament_target_dependencies(test_service_typesupport_c rmw) + ament_target_dependencies(test_service_typesupport_cpp + rmw + rmw_implementation + ) + ament_target_dependencies(test_service_typesupport_c + rmw + rmw_implementation + ) endif() ament_package() From 0995998a301e4ed5ca933809ae1d52cc6032314e Mon Sep 17 00:00:00 2001 From: Crola1702 Date: Fri, 17 Feb 2023 07:18:02 -0500 Subject: [PATCH 8/9] Fix str.find method usage Signed-off-by: Crola1702 --- .../test/rosidl_typesupport_c/test_service_typesupport.cpp | 5 ++--- .../rosidl_typesupport_cpp/test_service_typesupport.cpp | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index 0ef10a11..98066809 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -55,7 +55,7 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__srv__BasicTypes_Event(); // NOLINT - if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds") == 0) { EXPECT_STREQ( srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); @@ -184,7 +184,6 @@ TEST(test_service_typesupport, basic_types_event_message_create) TEST(test_service_typesupport, fibonacci_action_services_event) { - const rosidl_message_type_support_t * send_goal_event_msg_ts = rosidl_typesupport_c__get_message_type_support_handle__rosidl_typesupport_tests__action__Fibonacci_SendGoal_Event(); // NOLINT const rosidl_message_type_support_t * get_result_event_msg_ts = @@ -192,7 +191,7 @@ TEST(test_service_typesupport, fibonacci_action_services_event) ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds") == 0) { EXPECT_STREQ( send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_c"); diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index 5c9606ae..a36597a3 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -59,8 +59,8 @@ TEST(test_service_typesupport, basic_types_event_message_create) const rosidl_message_type_support_t * msg_ts = rosidl_typesupport_cpp::get_message_type_support_handle(); // NOLINT - // - if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { + + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds") == 0) { EXPECT_STREQ( srv_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); @@ -193,7 +193,7 @@ TEST(test_service_typesupport, fibonacci_action_services_event) rosidl_typesupport_tests::action::Fibonacci_GetResult::Event>(); ASSERT_NE(nullptr, send_goal_event_msg_ts); ASSERT_NE(nullptr, get_result_event_msg_ts); - if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds")) { + if (std::string(rmw_get_implementation_identifier()).find("rmw_cyclonedds") == 0) { EXPECT_STREQ( send_goal_event_msg_ts->typesupport_identifier, "rosidl_typesupport_introspection_cpp"); From 8db84b7057905cda7d8a4238f96c381a9aeac49d Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Fri, 17 Feb 2023 17:46:01 +0000 Subject: [PATCH 9/9] Small cleanups. Signed-off-by: Chris Lalancette --- rosidl_typesupport_tests/CMakeLists.txt | 24 ++++++++----------- rosidl_typesupport_tests/package.xml | 8 +++---- .../test_service_typesupport.cpp | 2 +- .../test_service_typesupport.cpp | 2 +- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/rosidl_typesupport_tests/CMakeLists.txt b/rosidl_typesupport_tests/CMakeLists.txt index 8e327283..e9c82ef7 100644 --- a/rosidl_typesupport_tests/CMakeLists.txt +++ b/rosidl_typesupport_tests/CMakeLists.txt @@ -8,15 +8,16 @@ endif() find_package(ament_cmake REQUIRED) if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() - find_package(rosidl_cmake REQUIRED) find_package(ament_cmake_gtest REQUIRED) - find_package(test_interface_files REQUIRED) + find_package(ament_lint_auto REQUIRED) find_package(rcutils REQUIRED) - find_package(rosidl_generator_cpp REQUIRED) find_package(rmw REQUIRED) find_package(rmw_implementation REQUIRED) + find_package(rosidl_cmake REQUIRED) + find_package(rosidl_generator_cpp REQUIRED) + find_package(test_interface_files REQUIRED) + + ament_lint_auto_find_test_dependencies() rosidl_generate_interfaces(${PROJECT_NAME} ${test_interface_files_MSG_FILES} @@ -33,6 +34,8 @@ if(BUILD_TESTING) ) target_link_libraries(test_service_typesupport_cpp "${cpp_typesupport_target}" + rmw::rmw + rmw_implementation::rmw_implementation ) ament_add_gtest(test_service_typesupport_c @@ -40,15 +43,8 @@ if(BUILD_TESTING) ) target_link_libraries(test_service_typesupport_c "${c_typesupport_target}" - ) - - ament_target_dependencies(test_service_typesupport_cpp - rmw - rmw_implementation - ) - ament_target_dependencies(test_service_typesupport_c - rmw - rmw_implementation + rmw::rmw + rmw_implementation::rmw_implementation ) endif() diff --git a/rosidl_typesupport_tests/package.xml b/rosidl_typesupport_tests/package.xml index 862cf2cc..6580c5ec 100644 --- a/rosidl_typesupport_tests/package.xml +++ b/rosidl_typesupport_tests/package.xml @@ -10,19 +10,19 @@ ament_cmake + action_msgs ament_lint_auto ament_lint_common ament_cmake_gtest rcutils + rmw + rmw_implementation rosidl_cmake rosidl_generator_cpp rosidl_typesupport_c rosidl_typesupport_cpp - test_interface_files service_msgs - action_msgs - rmw - rmw_implementation + test_interface_files ament_cmake diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp index 98066809..b2e4a2b1 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_c/test_service_typesupport.cpp @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include #include #include +#include #include "gtest/gtest.h" diff --git a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp index a36597a3..2d42d935 100644 --- a/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp +++ b/rosidl_typesupport_tests/test/rosidl_typesupport_cpp/test_service_typesupport.cpp @@ -12,10 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include #include #include #include +#include #include "gtest/gtest.h"