5 #include <gtest/gtest.h>
23 TEST(NodeStatusProvider, Basic)
32 uavcan::protocol::HardwareVersion hwver;
36 uavcan::protocol::SoftwareVersion swver;
39 swver.vcs_commit = 0x600DF00D;
44 ASSERT_TRUE(nsp.
getName().empty());
45 nsp.
setName(
"superluminal_communication_unit");
46 ASSERT_STREQ(
"superluminal_communication_unit", nsp.
getName().c_str());
48 ASSERT_EQ(uavcan::protocol::NodeStatus::HEALTH_OK, nsp.
getHealth());
49 ASSERT_EQ(uavcan::protocol::NodeStatus::MODE_INITIALIZATION, nsp.
getMode());
52 ASSERT_EQ(uavcan::protocol::NodeStatus::HEALTH_ERROR, nsp.
getHealth());
53 ASSERT_EQ(uavcan::protocol::NodeStatus::MODE_OPERATIONAL, nsp.
getMode());
86 ASSERT_LE(0, status_sub.
start());
92 ASSERT_EQ(uavcan::protocol::NodeStatus::HEALTH_ERROR, status_sub.
collector.
msg->health);
93 ASSERT_EQ(0, status_sub.
collector.
msg->vendor_specific_status_code);
109 ASSERT_EQ(uavcan::protocol::NodeStatus::HEALTH_ERROR, status_sub.
collector.
msg->health);
110 ASSERT_EQ(1234, status_sub.
collector.
msg->vendor_specific_status_code);
123 ASSERT_LE(0, gni_cln.
call(1, uavcan::protocol::GetNodeInfo::Request()));
129 ASSERT_EQ(1, gni_cln.
collector.
result->getCallID().server_node_id.get());
131 ASSERT_EQ(uavcan::protocol::NodeStatus::HEALTH_CRITICAL,
134 ASSERT_TRUE(hwver == gni_cln.
collector.
result->getResponse().hardware_version);
135 ASSERT_TRUE(swver == gni_cln.
collector.
result->getResponse().software_version);
137 ASSERT_EQ(
"superluminal_communication_unit", gni_cln.
collector.
result->getResponse().name);