From 30b2a8f5e7a279516cefa5045d7c3600464ef742 Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 10:18:37 -0400 Subject: [PATCH 1/6] Add test --- .../bringup/launch/localization_launch.py | 2 +- nav2_lifecycle_manager/CMakeLists.txt | 5 ++ nav2_lifecycle_manager/test/CMakeLists.txt | 23 ++++++ nav2_lifecycle_manager/test/launch_test.py | 30 ++++++++ .../test/lifecycle_node_test.cpp | 75 +++++++++++++++++++ .../test/test_lifecycle_manager.cpp | 35 +++++++++ 6 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 nav2_lifecycle_manager/test/CMakeLists.txt create mode 100644 nav2_lifecycle_manager/test/launch_test.py create mode 100644 nav2_lifecycle_manager/test/lifecycle_node_test.cpp create mode 100644 nav2_lifecycle_manager/test/test_lifecycle_manager.cpp diff --git a/nav2_bringup/bringup/launch/localization_launch.py b/nav2_bringup/bringup/launch/localization_launch.py index 2791e0068cd..1df99a0321c 100644 --- a/nav2_bringup/bringup/launch/localization_launch.py +++ b/nav2_bringup/bringup/launch/localization_launch.py @@ -101,7 +101,7 @@ def generate_launch_description(): executable='lifecycle_manager', name='lifecycle_manager_localization', output='screen', - parameters=[{'use_sim_time': use_sim_time}, + parameters=[{'use_sim_time': 'false'}, {'autostart': autostart}, {'node_names': lifecycle_nodes}]) ]) diff --git a/nav2_lifecycle_manager/CMakeLists.txt b/nav2_lifecycle_manager/CMakeLists.txt index b349a921b9f..ff06d31cc53 100644 --- a/nav2_lifecycle_manager/CMakeLists.txt +++ b/nav2_lifecycle_manager/CMakeLists.txt @@ -73,6 +73,11 @@ install(DIRECTORY include/ DESTINATION include/) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) ament_lint_auto_find_test_dependencies() + + find_package(ament_cmake_gtest REQUIRED) + find_package(ament_cmake_pytest REQUIRED) + + add_subdirectory(test) endif() ament_export_include_directories(include) diff --git a/nav2_lifecycle_manager/test/CMakeLists.txt b/nav2_lifecycle_manager/test/CMakeLists.txt new file mode 100644 index 00000000000..181d4b38540 --- /dev/null +++ b/nav2_lifecycle_manager/test/CMakeLists.txt @@ -0,0 +1,23 @@ +add_executable(example_lifecycle_node lifecycle_node_test.cpp) + +ament_target_dependencies(example_lifecycle_node + ${dependencies} +) + +ament_add_gtest_executable(test_lifecycle_gtest + test_lifecycle_manager.cpp +) + +ament_target_dependencies(test_lifecycle_gtest + ${dependencies} +) + +ament_add_test(test_lifecycle + GENERATE_RESULT_FOR_RETURN_CODE_ZERO + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_lifecycle_manager.py" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + TIMEOUT 180 + ENV + TEST_EXECUTABLE=$ + EXAMPLE_EXECUTABLE=$ +) diff --git a/nav2_lifecycle_manager/test/launch_test.py b/nav2_lifecycle_manager/test/launch_test.py new file mode 100644 index 00000000000..60132c17dd4 --- /dev/null +++ b/nav2_lifecycle_manager/test/launch_test.py @@ -0,0 +1,30 @@ +import os + +from ament_index_python.packages import get_package_share_directory + +from launch import LaunchDescription + +from launch_ros.actions import Node + + +def generate_launch_description(): + return LaunchDescription([ + Node( + package='nav2_lifecycle_manager', + executable='lifecycle_manager', + name='lifecycle_manager_localization', + output='screen', + parameters=[{'use_sim_time': 'false'}, + {'autostart': 'false'}, + {'node_names': 'lifecycle_node_test'}]), + + Node( + package='nav2_lifecycle_manager', + executable='lifecycle_manager', + name='lifecycle_manager_localization', + output='screen', + parameters=[{'use_sim_time': 'false'}, + {'autostart': 'false'}, + {'node_names': 'lifecycle_node_test'}]) + ]) + diff --git a/nav2_lifecycle_manager/test/lifecycle_node_test.cpp b/nav2_lifecycle_manager/test/lifecycle_node_test.cpp new file mode 100644 index 00000000000..3c06a7f3d02 --- /dev/null +++ b/nav2_lifecycle_manager/test/lifecycle_node_test.cpp @@ -0,0 +1,75 @@ +// Copyright (c) 2020 Shivang Patel +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include "rclcpp_lifecycle/lifecycle_node.hpp" +#include "rclcpp/rclcpp.hpp" + +using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn; + +class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode +{ +public: + LifecycleNodeTest() : rclcpp_lifecycle::LifecycleNode("lifecycle_node_test") {} + + CallbackReturn on_configure(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Configured!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_activate(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Activated!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_deactivate(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Deactivated!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_cleanup(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Cleanup!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_shutdown(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Shutdown!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_error(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is encountered an error!"); + return CallbackReturn::SUCCESS; + } + +private: + std::string name_; +}; + +int main(int argc, char ** argv) +{ + rclcpp::init(argc, argv); + auto node = std::shared_ptr(); + rclcpp::spin(node->get_node_base_interface()); + rclcpp::shutdown(); + + return 0; +} diff --git a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp new file mode 100644 index 00000000000..ec25219a99f --- /dev/null +++ b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp @@ -0,0 +1,35 @@ +// Copyright (c) 2020 Shivang Patel +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include + +TEST("LIFECYCLETEST", "TestingTest") +{ + EXPECT_TRUE(true); +} + +int main(int argc, char ** argv) +{ + ::testing::InitGoogleTest(&argc, argv); + + // initialize ROS + rclcpp::init(argc, argv); + + bool all_successful = RUN_ALL_TESTS(); + + // shutdown ROS + rclcpp::shutdown(); + + return all_successful; +} \ No newline at end of file From 81c1b7d0ed61c9bff62db64b58743c4b65b1d77b Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 15:56:23 -0400 Subject: [PATCH 2/6] Add more coverage --- nav2_lifecycle_manager/test/CMakeLists.txt | 13 ++--- .../test/launch_lifecycle_test.py | 57 +++++++++++++++++++ nav2_lifecycle_manager/test/launch_test.py | 30 ---------- ..._node_test.cpp => lifecycle_node_test.hpp} | 21 +++---- .../test/test_lifecycle_manager.cpp | 45 ++++++++++++++- 5 files changed, 112 insertions(+), 54 deletions(-) create mode 100755 nav2_lifecycle_manager/test/launch_lifecycle_test.py delete mode 100644 nav2_lifecycle_manager/test/launch_test.py rename nav2_lifecycle_manager/test/{lifecycle_node_test.cpp => lifecycle_node_test.hpp} (86%) diff --git a/nav2_lifecycle_manager/test/CMakeLists.txt b/nav2_lifecycle_manager/test/CMakeLists.txt index 181d4b38540..e931a5ce191 100644 --- a/nav2_lifecycle_manager/test/CMakeLists.txt +++ b/nav2_lifecycle_manager/test/CMakeLists.txt @@ -1,23 +1,20 @@ -add_executable(example_lifecycle_node lifecycle_node_test.cpp) - -ament_target_dependencies(example_lifecycle_node - ${dependencies} -) - ament_add_gtest_executable(test_lifecycle_gtest test_lifecycle_manager.cpp ) +target_link_libraries(test_lifecycle_gtest + ${library_name} +) + ament_target_dependencies(test_lifecycle_gtest ${dependencies} ) ament_add_test(test_lifecycle GENERATE_RESULT_FOR_RETURN_CODE_ZERO - COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/test_lifecycle_manager.py" + COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/launch_lifecycle_test.py" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" TIMEOUT 180 ENV TEST_EXECUTABLE=$ - EXAMPLE_EXECUTABLE=$ ) diff --git a/nav2_lifecycle_manager/test/launch_lifecycle_test.py b/nav2_lifecycle_manager/test/launch_lifecycle_test.py new file mode 100755 index 00000000000..822a4423579 --- /dev/null +++ b/nav2_lifecycle_manager/test/launch_lifecycle_test.py @@ -0,0 +1,57 @@ +#! /usr/bin/env python3 +# Copyright (c) 2020 Shivang Patel +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import sys + +from launch import LaunchDescription +from launch import LaunchService +from launch.actions import ExecuteProcess +from launch_ros.actions import Node +from launch_testing.legacy import LaunchTestService + + +def generate_launch_description(): + return LaunchDescription([ + Node( + package='nav2_lifecycle_manager', + executable='lifecycle_manager', + name='lifecycle_manager_test', + output='screen', + parameters=[{'use_sim_time': False}, + {'autostart': False}, + {'node_names': ['lifecycle_node_test']}]), + ]) + + +def main(argv=sys.argv[1:]): + ld = generate_launch_description() + + testExecutable = os.getenv('TEST_EXECUTABLE') + + test1_action = ExecuteProcess( + cmd=[testExecutable], + name='test_lifecycle_node_gtest', + output='screen') + + lts = LaunchTestService() + lts.add_test_action(ld, test1_action) + ls = LaunchService(argv=argv) + ls.include_launch_description(ld) + return lts.run(ls) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/nav2_lifecycle_manager/test/launch_test.py b/nav2_lifecycle_manager/test/launch_test.py deleted file mode 100644 index 60132c17dd4..00000000000 --- a/nav2_lifecycle_manager/test/launch_test.py +++ /dev/null @@ -1,30 +0,0 @@ -import os - -from ament_index_python.packages import get_package_share_directory - -from launch import LaunchDescription - -from launch_ros.actions import Node - - -def generate_launch_description(): - return LaunchDescription([ - Node( - package='nav2_lifecycle_manager', - executable='lifecycle_manager', - name='lifecycle_manager_localization', - output='screen', - parameters=[{'use_sim_time': 'false'}, - {'autostart': 'false'}, - {'node_names': 'lifecycle_node_test'}]), - - Node( - package='nav2_lifecycle_manager', - executable='lifecycle_manager', - name='lifecycle_manager_localization', - output='screen', - parameters=[{'use_sim_time': 'false'}, - {'autostart': 'false'}, - {'node_names': 'lifecycle_node_test'}]) - ]) - diff --git a/nav2_lifecycle_manager/test/lifecycle_node_test.cpp b/nav2_lifecycle_manager/test/lifecycle_node_test.hpp similarity index 86% rename from nav2_lifecycle_manager/test/lifecycle_node_test.cpp rename to nav2_lifecycle_manager/test/lifecycle_node_test.hpp index 3c06a7f3d02..303818a07f0 100644 --- a/nav2_lifecycle_manager/test/lifecycle_node_test.cpp +++ b/nav2_lifecycle_manager/test/lifecycle_node_test.hpp @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#ifndef LIFECYCLE_NODE_TEST_HPP_ +#define LIFECYCLE_NODE_TEST_HPP_ + #include #include #include "rclcpp_lifecycle/lifecycle_node.hpp" @@ -22,7 +25,8 @@ using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode { public: - LifecycleNodeTest() : rclcpp_lifecycle::LifecycleNode("lifecycle_node_test") {} + LifecycleNodeTest() + : rclcpp_lifecycle::LifecycleNode("lifecycle_node_test") {} CallbackReturn on_configure(const rclcpp_lifecycle::State & /*state*/) override { @@ -30,7 +34,7 @@ class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode return CallbackReturn::SUCCESS; } - CallbackReturn on_activate(const rclcpp_lifecycle::State & /*state*/) override + CallbackReturn on_activate(const rclcpp_lifecycle::State & /*state*/) override { RCLCPP_INFO(get_logger(), "Lifecycle Test node is Activated!"); return CallbackReturn::SUCCESS; @@ -59,17 +63,6 @@ class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode RCLCPP_INFO(get_logger(), "Lifecycle Test node is encountered an error!"); return CallbackReturn::SUCCESS; } - -private: - std::string name_; }; -int main(int argc, char ** argv) -{ - rclcpp::init(argc, argv); - auto node = std::shared_ptr(); - rclcpp::spin(node->get_node_base_interface()); - rclcpp::shutdown(); - - return 0; -} +#endif // LIFECYCLE_NODE_TEST_HPP_ diff --git a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp index ec25219a99f..2e4c08bcd2c 100644 --- a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp +++ b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp @@ -13,12 +13,53 @@ // limitations under the License. #include +#include +#include +#include "rclcpp/rclcpp.hpp" +#include "rclcpp_lifecycle/lifecycle_node.hpp" +#include "nav2_util/node_thread.hpp" +#include "nav2_lifecycle_manager/lifecycle_manager_client.hpp" +#include "lifecycle_node_test.hpp" -TEST("LIFECYCLETEST", "TestingTest") +class LifecycleClientTestFixture +{ +public: + LifecycleClientTestFixture() + { + lf_node_ = std::make_shared(); + lf_thread_ = std::make_unique(lf_node_->get_node_base_interface()); + } + +private: + std::shared_ptr lf_node_; + std::unique_ptr lf_thread_; +}; + +TEST(LifecycleClientTest, TestingTest) { EXPECT_TRUE(true); } +TEST(LifecycleClientTest, BasicTest) +{ + LifecycleClientTestFixture fix; + nav2_lifecycle_manager::LifecycleManagerClient client("lifecycle_manager_test"); + EXPECT_TRUE(client.startup()); + EXPECT_EQ( + nav2_lifecycle_manager::SystemStatus::TIMEOUT, + client.is_active(std::chrono::nanoseconds(1000))); + EXPECT_EQ( + nav2_lifecycle_manager::SystemStatus::ACTIVE, + client.is_active(std::chrono::nanoseconds(1000000000))); + EXPECT_TRUE(client.pause()); + EXPECT_EQ( + nav2_lifecycle_manager::SystemStatus::INACTIVE, + client.is_active(std::chrono::nanoseconds(1000000000))); + EXPECT_TRUE(client.resume()); + EXPECT_TRUE(client.reset()); + EXPECT_TRUE(client.shutdown()); +} + int main(int argc, char ** argv) { ::testing::InitGoogleTest(&argc, argv); @@ -32,4 +73,4 @@ int main(int argc, char ** argv) rclcpp::shutdown(); return all_successful; -} \ No newline at end of file +} From 6da6b02f7c28432f1c32ee23927c68e9672b4f28 Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 16:42:56 -0400 Subject: [PATCH 3/6] Merge test header file with executable --- .../test/lifecycle_node_test.hpp | 68 ------------------- .../test/test_lifecycle_manager.cpp | 46 ++++++++++++- 2 files changed, 45 insertions(+), 69 deletions(-) delete mode 100644 nav2_lifecycle_manager/test/lifecycle_node_test.hpp diff --git a/nav2_lifecycle_manager/test/lifecycle_node_test.hpp b/nav2_lifecycle_manager/test/lifecycle_node_test.hpp deleted file mode 100644 index 303818a07f0..00000000000 --- a/nav2_lifecycle_manager/test/lifecycle_node_test.hpp +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) 2020 Shivang Patel -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef LIFECYCLE_NODE_TEST_HPP_ -#define LIFECYCLE_NODE_TEST_HPP_ - -#include -#include -#include "rclcpp_lifecycle/lifecycle_node.hpp" -#include "rclcpp/rclcpp.hpp" - -using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn; - -class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode -{ -public: - LifecycleNodeTest() - : rclcpp_lifecycle::LifecycleNode("lifecycle_node_test") {} - - CallbackReturn on_configure(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is Configured!"); - return CallbackReturn::SUCCESS; - } - - CallbackReturn on_activate(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is Activated!"); - return CallbackReturn::SUCCESS; - } - - CallbackReturn on_deactivate(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is Deactivated!"); - return CallbackReturn::SUCCESS; - } - - CallbackReturn on_cleanup(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is Cleanup!"); - return CallbackReturn::SUCCESS; - } - - CallbackReturn on_shutdown(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is Shutdown!"); - return CallbackReturn::SUCCESS; - } - - CallbackReturn on_error(const rclcpp_lifecycle::State & /*state*/) override - { - RCLCPP_INFO(get_logger(), "Lifecycle Test node is encountered an error!"); - return CallbackReturn::SUCCESS; - } -}; - -#endif // LIFECYCLE_NODE_TEST_HPP_ diff --git a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp index 2e4c08bcd2c..0c4a0db1f7a 100644 --- a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp +++ b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp @@ -19,7 +19,51 @@ #include "rclcpp_lifecycle/lifecycle_node.hpp" #include "nav2_util/node_thread.hpp" #include "nav2_lifecycle_manager/lifecycle_manager_client.hpp" -#include "lifecycle_node_test.hpp" + +using CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn; + +class LifecycleNodeTest : public rclcpp_lifecycle::LifecycleNode +{ +public: + LifecycleNodeTest() + : rclcpp_lifecycle::LifecycleNode("lifecycle_node_test") {} + + CallbackReturn on_configure(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Configured!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_activate(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Activated!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_deactivate(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Deactivated!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_cleanup(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Cleanup!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_shutdown(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is Shutdown!"); + return CallbackReturn::SUCCESS; + } + + CallbackReturn on_error(const rclcpp_lifecycle::State & /*state*/) override + { + RCLCPP_INFO(get_logger(), "Lifecycle Test node is encountered an error!"); + return CallbackReturn::SUCCESS; + } +}; class LifecycleClientTestFixture { From 3ac43cdb3009ea24302cf9d9913a73715949a7ab Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 16:52:14 -0400 Subject: [PATCH 4/6] Address PR reviewer's comment --- nav2_lifecycle_manager/test/test_lifecycle_manager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp index 0c4a0db1f7a..12416ce2fa2 100644 --- a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp +++ b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp @@ -95,6 +95,9 @@ TEST(LifecycleClientTest, BasicTest) EXPECT_EQ( nav2_lifecycle_manager::SystemStatus::ACTIVE, client.is_active(std::chrono::nanoseconds(1000000000))); + EXPECT_EQ( + nav2_lifecycle_manager::SystemStatus::ACTIVE, + client.is_active()); EXPECT_TRUE(client.pause()); EXPECT_EQ( nav2_lifecycle_manager::SystemStatus::INACTIVE, From f481dd0f80594c30bd47fd1721a4066f433bb610 Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 16:57:04 -0400 Subject: [PATCH 5/6] Add some more coverage --- .../test/test_lifecycle_manager.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp index 12416ce2fa2..983a34ee64c 100644 --- a/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp +++ b/nav2_lifecycle_manager/test/test_lifecycle_manager.cpp @@ -79,11 +79,6 @@ class LifecycleClientTestFixture std::unique_ptr lf_thread_; }; -TEST(LifecycleClientTest, TestingTest) -{ - EXPECT_TRUE(true); -} - TEST(LifecycleClientTest, BasicTest) { LifecycleClientTestFixture fix; @@ -107,6 +102,14 @@ TEST(LifecycleClientTest, BasicTest) EXPECT_TRUE(client.shutdown()); } +TEST(LifecycleClientTest, WithoutFixture) +{ + nav2_lifecycle_manager::LifecycleManagerClient client("lifecycle_manager_test"); + EXPECT_EQ( + nav2_lifecycle_manager::SystemStatus::TIMEOUT, + client.is_active(std::chrono::nanoseconds(1000))); +} + int main(int argc, char ** argv) { ::testing::InitGoogleTest(&argc, argv); From 1217775342668b8240dd37b9474da7f6c52d1745 Mon Sep 17 00:00:00 2001 From: Shivang Patel Date: Thu, 4 Jun 2020 19:17:39 -0400 Subject: [PATCH 6/6] Revert accidental changes to localization_launch.py file. --- nav2_bringup/bringup/launch/localization_launch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nav2_bringup/bringup/launch/localization_launch.py b/nav2_bringup/bringup/launch/localization_launch.py index 1df99a0321c..2791e0068cd 100644 --- a/nav2_bringup/bringup/launch/localization_launch.py +++ b/nav2_bringup/bringup/launch/localization_launch.py @@ -101,7 +101,7 @@ def generate_launch_description(): executable='lifecycle_manager', name='lifecycle_manager_localization', output='screen', - parameters=[{'use_sim_time': 'false'}, + parameters=[{'use_sim_time': use_sim_time}, {'autostart': autostart}, {'node_names': lifecycle_nodes}]) ])