5 #include <gtest/gtest.h> 10 TEST(TransportStatsProvider, Basic)
19 ASSERT_LE(0, tsp.
start());
26 ASSERT_LE(0, tsp_cln.call(1, uavcan::protocol::GetTransportStats::Request()));
29 ASSERT_TRUE(tsp_cln.collector.result.get());
30 ASSERT_TRUE(tsp_cln.collector.result->isSuccessful());
31 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().transfer_errors);
32 ASSERT_EQ(1, tsp_cln.collector.result->getResponse().transfers_rx);
33 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().transfers_tx);
34 ASSERT_EQ(1, tsp_cln.collector.result->getResponse().can_iface_stats.size());
35 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().can_iface_stats[0].errors);
36 ASSERT_EQ(1, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_rx);
37 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_tx);
42 ASSERT_LE(0, tsp_cln.call(1, uavcan::protocol::GetTransportStats::Request()));
45 ASSERT_TRUE(tsp_cln.collector.result.get());
46 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().transfer_errors);
47 ASSERT_EQ(2, tsp_cln.collector.result->getResponse().transfers_rx);
48 ASSERT_EQ(1, tsp_cln.collector.result->getResponse().transfers_tx);
49 ASSERT_EQ(1, tsp_cln.collector.result->getResponse().can_iface_stats.size());
50 ASSERT_EQ(0, tsp_cln.collector.result->getResponse().can_iface_stats[0].errors);
51 ASSERT_EQ(2, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_rx);
52 ASSERT_EQ(6, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_tx);
59 frame.setStartOfTransfer(
true);
60 frame.setEndOfTransfer(
true);
62 ASSERT_TRUE(frame.compile(can_frame));
75 ASSERT_LE(0, tsp_cln.call(1, uavcan::protocol::GetTransportStats::Request()));
78 ASSERT_TRUE(tsp_cln.collector.result.get());
79 EXPECT_EQ(1, tsp_cln.collector.result->getResponse().transfer_errors);
80 EXPECT_EQ(3, tsp_cln.collector.result->getResponse().transfers_rx);
81 EXPECT_EQ(2, tsp_cln.collector.result->getResponse().transfers_tx);
82 EXPECT_EQ(1, tsp_cln.collector.result->getResponse().can_iface_stats.size());
83 EXPECT_EQ(72, tsp_cln.collector.result->getResponse().can_iface_stats[0].errors);
84 EXPECT_EQ(4, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_rx);
85 EXPECT_EQ(12, tsp_cln.collector.result->getResponse().can_iface_stats[0].frames_tx);
TEST(TransportStatsProvider, Basic)
static GlobalDataTypeRegistry & instance()
static MonotonicDuration fromMSec(int64_t ms)
int spinBoth(uavcan::MonotonicDuration duration)
std::queue< uavcan::CanFrame > read_queue