16using namespace std::chrono_literals;
20constexpr std::uint16_t kWindowsTestEtherType = 0x88B7;
23 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
24 0x02, 0x00, 0x00, 0x00, 0x10, 0x02,
26 0x50, 0x60, 0x70, 0x80};
32 const auto interfaceValue = GetTestInterface();
33 if (!interfaceValue.has_value())
35 GTEST_SKIP() <<
"Set PROFINET_TEST_INTERFACE to run live Ethernet backend tests";
37 const std::string&
interface = *interfaceValue;
39 auto sender = CreateBackend(interface, 0U);
40 auto receiver = CreateBackend(interface, kWindowsTestEtherType);
42 receiver->SetTimeout(1000ms);
45 const Bytes received = receiver->Recv();
47 ASSERT_FALSE(received.empty());
48 EXPECT_EQ(received, kFrame);
54 const auto interfaceValue = GetTestInterface();
55 if (!interfaceValue.has_value())
57 GTEST_SKIP() <<
"Set PROFINET_TEST_INTERFACE to run live Ethernet backend tests";
59 const std::string&
interface = *interfaceValue;
61 auto backend = CreateBackend(interface, kWindowsTestEtherType);
62 backend->SetTimeout(25ms);
64 const auto start = std::chrono::steady_clock::now();
65 const Bytes received = backend->Recv();
66 const auto elapsed = std::chrono::steady_clock::now() - start;
68 EXPECT_TRUE(received.empty());
69 EXPECT_GE(elapsed, 15ms);
Shared fixture for EthernetPacketBackend tests.
Shared test fixture helpers for EthernetPacketBackend tests.
TEST_F(AlarmListenerTests, InitializesWithEndpoint)
std::vector< std::uint8_t > Bytes
Generic byte buffer alias used throughout the library for raw wire data.
PROFINET protocol wire-format structures and serialization helpers.