Fix EthernetTetheringTest#testLocalOnlyTethering flaky
The testLocalOnlyTethering only verifies whether an IPv6 RA with a ULA prefix is sent out. If the test interface is killed after the RA is sent out while the DHCP server is starting, the error callback with exception is raised. RunDhcp verification is used to ensure that DHCP server is started. Bug: 286701571 Test: TH Change-Id: Iccebcedbba7b2f9cd28bb1cc06af928ff8dfaaca
This commit is contained in:
@@ -326,6 +326,14 @@ public class EthernetTetheringTest extends EthernetTetheringTestBase {
|
||||
|
||||
waitForRouterAdvertisement(downstreamReader, iface, WAIT_RA_TIMEOUT_MS);
|
||||
expectLocalOnlyAddresses(iface);
|
||||
|
||||
// After testing the IPv6 local address, the DHCP server may still be in the process
|
||||
// of being created. If the downstream interface is killed by the test while the
|
||||
// DHCP server is starting, a DHCP server error may occur. To ensure that the DHCP
|
||||
// server has started completely before finishing the test, also test the dhcp server
|
||||
// by calling runDhcp.
|
||||
final TetheringTester tester = new TetheringTester(downstreamReader);
|
||||
tester.runDhcp(MacAddress.fromString("1:2:3:4:5:6").toByteArray());
|
||||
} finally {
|
||||
maybeStopTapPacketReader(downstreamReader);
|
||||
maybeCloseTestInterface(downstreamIface);
|
||||
|
||||
Reference in New Issue
Block a user