6 # pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
9 #include <gtest/gtest.h>
15 #include "../helpers.hpp"
47 return NodeAwarenessUnknown;
49 return ni->
committed ? NodeAwarenessKnownAndCommitted : NodeAwarenessKnownButNotCommitted;
57 info.unique_id = *unique_id_or_null;
59 info.node_id = node_id;
60 nodes.push_back(
info);
65 for (
unsigned i = 0; i < nodes.size(); i++)
67 if (nodes.at(i).unique_id == unique_id)
77 for (
unsigned i = 0; i < nodes.size(); i++)
79 if (nodes.at(i).node_id == node_id)
89 TEST(dynamic_node_id_server_NodeDiscoverer, Basic)
91 using namespace uavcan::protocol::dynamic_node_id::server;
113 std::cout <<
"!!! Publishing NodeStatus, discovery is disabled" << std::endl;
117 ASSERT_LE(0, node_status_pub.
init());
119 uavcan::protocol::NodeStatus node_status;
120 node_status.uptime_sec = 0;
121 ASSERT_LE(0, node_status_pub.
broadcast(node_status));
134 std::cout <<
"!!! Enabling discovery" << std::endl;
149 std::cout <<
"!!! Publishing NodeStatus" << std::endl;
151 node_status.uptime_sec += 5U;
152 ASSERT_LE(0, node_status_pub.
broadcast(node_status));
166 std::cout <<
"!!! Publishing NodeStatus, discovery is enabled, GetNodeInfo mock server is initialized" << std::endl;
169 get_node_info_server.
response.hardware_version.unique_id[0] = 123;
170 get_node_info_server.
response.hardware_version.unique_id[6] = 213;
171 get_node_info_server.
response.hardware_version.unique_id[14] = 52;
172 ASSERT_LE(0, get_node_info_server.
start());
187 ASSERT_TRUE(handler.
findNode(get_node_info_server.
response.hardware_version.unique_id));
192 TEST(dynamic_node_id_server_NodeDiscoverer, RestartAndMaxAttempts)
194 using namespace uavcan::protocol::dynamic_node_id::server;
220 ASSERT_LE(0, node_status_pub.
init());
222 uavcan::protocol::NodeStatus node_status;
223 node_status.uptime_sec = 10;
224 ASSERT_LE(0, node_status_pub.
broadcast(node_status));
240 node_status.uptime_sec = 9;
241 ASSERT_LE(0, node_status_pub.
broadcast(node_status));
276 TEST(dynamic_node_id_server_NodeDiscoverer, Sizes)
282 std::cout <<
"protocol::GetNodeInfo::Response: " <<
sizeof(protocol::GetNodeInfo::Response) << std::endl;