1#ifndef INTEGRATION_TEST_H
2#define INTEGRATION_TEST_H
4#include <rclcpp/publisher.hpp>
5#include <rclcpp/qos.hpp>
6#include <rclcpp/rclcpp.hpp>
8#include <std_msgs/msg/bool.hpp>
18 rclcpp::Node::SharedPtr node_;
19 rclcpp::executors::SingleThreadedExecutor::SharedPtr executor_;
21 rclcpp::Publisher<std_msgs::msg::Bool>::SharedPtr publisher_result_;
23 void reportTesResult(
const bool result);
25 std::thread main_thread_;
33IntegrationTest::IntegrationTest()
36 node_ = rclcpp::Node::make_shared(
"test");
37 executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
39 executor_->add_node(node_);
41 publisher_result_ = node_->create_publisher<std_msgs::msg::Bool>(
"/test_result", 100);
43 main_thread_ = std::thread(&IntegrationTest::spin,
this);
46void IntegrationTest::reportTesResult(
const bool result)
49 printf(
"[IntegrationTest]: publishing result %s", result ?
"SUCCESS" :
"FAILED");
51 std_msgs::msg::Bool result_msg;
52 result_msg.data = result;
54 publisher_result_->publish(result_msg);
57void IntegrationTest::spin()
60 printf(
"[IntegrationTest]: spinning");
65void IntegrationTest::join()
68 printf(
"[IntegrationTest]: joined");
Definition integration_test.h:13