remove mock msgs from rclcpp (#800)

Signed-off-by: Karsten Knese <karsten@openrobotics.org>
This commit is contained in:
Karsten Knese 2019-08-05 22:43:30 -07:00 committed by GitHub
parent 9be3e08cd4
commit dc3c36c7f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 46 deletions

View file

@ -143,6 +143,8 @@ if(BUILD_TESTING)
find_package(rmw_implementation_cmake REQUIRED)
find_package(test_msgs REQUIRED)
include(cmake/rclcpp_add_build_failure_test.cmake)
ament_add_gtest(test_client test/test_client.cpp)
@ -356,7 +358,6 @@ if(BUILD_TESTING)
)
target_link_libraries(test_subscription_publisher_count_api ${PROJECT_NAME})
endif()
find_package(test_msgs REQUIRED)
ament_add_gtest(test_subscription_traits test/test_subscription_traits.cpp)
if(TARGET test_subscription_traits)
ament_target_dependencies(test_subscription_traits
@ -372,38 +373,17 @@ if(BUILD_TESTING)
target_link_libraries(test_find_weak_nodes ${PROJECT_NAME})
endif()
get_default_rmw_implementation(default_rmw)
find_package(${default_rmw} REQUIRED)
get_rmw_typesupport(typesupport_impls_cpp "${default_rmw}" LANGUAGE "cpp")
get_rmw_typesupport(typesupport_impls_c "${default_rmw}" LANGUAGE "c")
set(mock_msg_files
"test/mock_msgs/srv/Mock.srv")
rosidl_generate_interfaces(mock_msgs
${mock_msg_files}
LIBRARY_NAME "rclcpp"
SKIP_INSTALL)
set(append_library_dirs "${CMAKE_CURRENT_BINARY_DIR}")
if(WIN32)
set(append_library_dirs "${append_library_dirs}/$<CONFIG>")
endif()
ament_add_gtest(test_externally_defined_services test/test_externally_defined_services.cpp
APPEND_LIBRARY_DIRS "${append_library_dirs}")
if(TARGET test_externally_defined_services)
ament_add_gtest(test_externally_defined_services test/test_externally_defined_services.cpp)
ament_target_dependencies(test_externally_defined_services
"rcl"
"test_msgs"
)
target_link_libraries(test_externally_defined_services ${PROJECT_NAME})
foreach(typesupport_impl_cpp ${typesupport_impls_cpp})
rosidl_target_interfaces(test_externally_defined_services
mock_msgs ${typesupport_impl_cpp})
endforeach()
foreach(typesupport_impl_c ${typesupport_impls_c})
rosidl_target_interfaces(test_externally_defined_services
mock_msgs ${typesupport_impl_c})
endforeach()
endif()
ament_add_gtest(test_duration test/test_duration.cpp
APPEND_LIBRARY_DIRS "${append_library_dirs}")

View file

@ -1,3 +0,0 @@
bool request
---
bool response

View file

@ -24,8 +24,8 @@
#include "rcl/service.h"
#include "rclcpp/srv/mock.hpp"
#include "rclcpp/srv/mock.h"
#include "test_msgs/srv/empty.hpp"
#include "test_msgs/srv/empty.h"
class TestExternallyDefinedServices : public ::testing::Test
{
@ -38,16 +38,15 @@ protected:
void
callback(
const std::shared_ptr<rclcpp::srv::Mock::Request>/*req*/,
std::shared_ptr<rclcpp::srv::Mock::Response>/*resp*/)
const std::shared_ptr<test_msgs::srv::Empty::Request>/*req*/,
std::shared_ptr<test_msgs::srv::Empty::Response>/*resp*/)
{}
TEST_F(TestExternallyDefinedServices, default_behavior) {
auto node_handle = rclcpp::Node::make_shared("base_node");
try {
auto srv = node_handle->create_service<rclcpp::srv::Mock>("test",
callback);
auto srv = node_handle->create_service<test_msgs::srv::Empty>("test", callback);
} catch (const std::exception &) {
FAIL();
return;
@ -55,19 +54,18 @@ TEST_F(TestExternallyDefinedServices, default_behavior) {
SUCCEED();
}
TEST_F(TestExternallyDefinedServices, extern_defined_uninitialized) {
auto node_handle = rclcpp::Node::make_shared("base_node");
// mock for externally defined service
rcl_service_t service_handle = rcl_get_zero_initialized_service();
rclcpp::AnyServiceCallback<rclcpp::srv::Mock> cb;
rclcpp::AnyServiceCallback<test_msgs::srv::Empty> cb;
// don't initialize the service
// expect fail
try {
rclcpp::Service<rclcpp::srv::Mock>(
rclcpp::Service<test_msgs::srv::Empty>(
node_handle->get_node_base_interface()->get_shared_rcl_node_handle(),
&service_handle, cb);
} catch (const std::runtime_error &) {
@ -85,7 +83,7 @@ TEST_F(TestExternallyDefinedServices, extern_defined_initialized) {
rcl_service_t service_handle = rcl_get_zero_initialized_service();
rcl_service_options_t service_options = rcl_service_get_default_options();
const rosidl_service_type_support_t * ts =
rosidl_typesupport_cpp::get_service_type_support_handle<rclcpp::srv::Mock>();
rosidl_typesupport_cpp::get_service_type_support_handle<test_msgs::srv::Empty>();
rcl_ret_t ret = rcl_service_init(
&service_handle,
node_handle->get_node_base_interface()->get_rcl_node_handle(),
@ -95,10 +93,10 @@ TEST_F(TestExternallyDefinedServices, extern_defined_initialized) {
return;
}
rclcpp::AnyServiceCallback<rclcpp::srv::Mock> cb;
rclcpp::AnyServiceCallback<test_msgs::srv::Empty> cb;
try {
rclcpp::Service<rclcpp::srv::Mock>(
rclcpp::Service<test_msgs::srv::Empty>(
node_handle->get_node_base_interface()->get_shared_rcl_node_handle(),
&service_handle, cb);
} catch (const std::runtime_error &) {
@ -125,7 +123,7 @@ TEST_F(TestExternallyDefinedServices, extern_defined_destructor) {
rcl_service_t service_handle = rcl_get_zero_initialized_service();
rcl_service_options_t service_options = rcl_service_get_default_options();
const rosidl_service_type_support_t * ts =
rosidl_typesupport_cpp::get_service_type_support_handle<rclcpp::srv::Mock>();
rosidl_typesupport_cpp::get_service_type_support_handle<test_msgs::srv::Empty>();
rcl_ret_t ret = rcl_service_init(
&service_handle,
node_handle->get_node_base_interface()->get_rcl_node_handle(),
@ -134,11 +132,11 @@ TEST_F(TestExternallyDefinedServices, extern_defined_destructor) {
FAIL();
return;
}
rclcpp::AnyServiceCallback<rclcpp::srv::Mock> cb;
rclcpp::AnyServiceCallback<test_msgs::srv::Empty> cb;
{
// Call constructor
rclcpp::Service<rclcpp::srv::Mock> srv_cpp(
rclcpp::Service<test_msgs::srv::Empty> srv_cpp(
node_handle->get_node_base_interface()->get_shared_rcl_node_handle(),
&service_handle, cb);
// Call destructor