From 239860a4d61fc787066ae5e11546f1ec7fa23ed1 Mon Sep 17 00:00:00 2001 From: Mark Chien Date: Mon, 16 Oct 2023 07:34:44 +0000 Subject: [PATCH] Fix testRequestDownstreamAddressWithoutUsingLastAddress flaky MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The problem is that the test releases mHotspotIpServer’s prefix before testing mUsbIpServer, which means that mUsbIpServer might choose the same address as mHotspotIpServer’s. To fix this, we need to test that mUsbIpServer and mHotspotIpServer have different addresses before calling releaseDownstream(mHotspotIpServer). Change-Id: Id7f7bbfeda841ec9b97e24c0f11893fa37b9ef54 Test: TH Bug: 300127195 --- .../tethering/PrivateAddressCoordinatorTest.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java index 91b092ad0f..6ebd6ae6b5 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java @@ -126,16 +126,17 @@ public final class PrivateAddressCoordinatorTest { final LinkAddress newAddress = requestDownstreamAddress(mHotspotIpServer, CONNECTIVITY_SCOPE_GLOBAL, false /* useLastAddress */); - final IpPrefix testDupRequest = asIpPrefix(newAddress); - assertNotEquals(hotspotPrefix, testDupRequest); - assertNotEquals(bluetoothPrefix, testDupRequest); - mPrivateAddressCoordinator.releaseDownstream(mHotspotIpServer); + final IpPrefix newHotspotPrefix = asIpPrefix(newAddress); + assertNotEquals(hotspotPrefix, newHotspotPrefix); + assertNotEquals(bluetoothPrefix, newHotspotPrefix); final LinkAddress usbAddress = requestDownstreamAddress(mUsbIpServer, CONNECTIVITY_SCOPE_GLOBAL, false /* useLastAddress */); final IpPrefix usbPrefix = asIpPrefix(usbAddress); assertNotEquals(usbPrefix, bluetoothPrefix); - assertNotEquals(usbPrefix, hotspotPrefix); + assertNotEquals(usbPrefix, newHotspotPrefix); + + mPrivateAddressCoordinator.releaseDownstream(mHotspotIpServer); mPrivateAddressCoordinator.releaseDownstream(mUsbIpServer); }