TestMulticastEthernetTransport/NetifStateChange fails with interfaces that are not RUNNING
On one of the Jenkins agents for macOS Catalina, the
Face/TestMulticastEthernetTransport/NetifStateChange consistently fails when it attempts to use the
awdl0 (Apple Wireless Direct Link) interface (which is administratively up, but is not RUNNING). However, I have confirmed that it still fails on macOS when this test case attempts to use a standard Ethernet interface that is also administratively up, but not RUNNING.
Davide and I have determined that this issue is likely caused by a combination of the following two issues:
- EthernetTransport is not initially set to
TransportState::DOWNwhen the underlying interface is initially not
- EthernetFixture uses any interface that is administratively up but not necessarily
InterfaceState::RUNNING, while the test case in question assumes that the transport is initially
TransportState::UP(not guaranteed once the previous point is fixed).
Updated by Davide Pesavento 2 months ago
- Subject changed from TestMulticastEthernetTransport/NetifStateChange fails on macOS with interfaces that are not RUNNING to TestMulticastEthernetTransport/NetifStateChange fails with interfaces that are not RUNNING
- Category changed from Unit Tests to Faces
FTR, this isn't macOS-specific, it could happen on Linux as well. We've never seen it on Jenkins Linux agents because none of them has a network configuration that triggers the bug.