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>
17 rclcpp::Node::SharedPtr node_;
18 rclcpp::executors::SingleThreadedExecutor::SharedPtr executor_;
20 rclcpp::Publisher<std_msgs::msg::Bool>::SharedPtr publisher_result_;
22 void reportTesResult(
const bool result);
24 std::thread main_thread_;
32IntegrationTest::IntegrationTest() {
34 node_ = rclcpp::Node::make_shared(
"test");
35 executor_ = std::make_shared<rclcpp::executors::SingleThreadedExecutor>();
37 executor_->add_node(node_);
39 publisher_result_ = node_->create_publisher<std_msgs::msg::Bool>(
"/test_result", 100);
41 main_thread_ = std::thread(&IntegrationTest::spin,
this);
44void IntegrationTest::reportTesResult(
const bool result) {
46 printf(
"[IntegrationTest]: publishing result %s", result ?
"SUCCESS" :
"FAILED");
48 std_msgs::msg::Bool result_msg;
49 result_msg.data = result;
51 publisher_result_->publish(result_msg);
54void IntegrationTest::spin() {
56 printf(
"[IntegrationTest]: spinning");
61void IntegrationTest::join() {
63 printf(
"[IntegrationTest]: joined");
Definition integration_test.h:12