Merge changes I2399960f,I7b6e1a3b into main am: 0466125e93
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2721684
Change-Id: I4252f3e8a5232881c67c4886286e4490bf4cd82e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt
index 7fe9299..3146b41 100644
--- a/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt
+++ b/tests/cts/net/src/android/net/cts/EthernetManagerTest.kt
@@ -92,7 +92,6 @@
import kotlin.test.assertNotNull
import kotlin.test.assertNull
import kotlin.test.assertTrue
-import kotlin.test.fail
import org.junit.After
import org.junit.Assume.assumeFalse
import org.junit.Assume.assumeTrue
@@ -254,7 +253,7 @@
}
fun <T : CallbackEntry> expectCallback(expected: T): T {
- val event = pollOrThrow()
+ val event = events.poll(TIMEOUT_MS)
assertEquals(expected, event)
return event as T
}
@@ -267,14 +266,10 @@
expectCallback(EthernetStateChanged(state))
}
- fun createChangeEvent(iface: String, state: Int, role: Int) =
+ private fun createChangeEvent(iface: String, state: Int, role: Int) =
InterfaceStateChanged(iface, state, role,
if (state != STATE_ABSENT) DEFAULT_IP_CONFIGURATION else null)
- fun pollOrThrow(): CallbackEntry {
- return events.poll(TIMEOUT_MS) ?: fail("Did not receive callback after ${TIMEOUT_MS}ms")
- }
-
fun eventuallyExpect(expected: CallbackEntry) {
val cb = events.poll(TIMEOUT_MS) { it == expected }
assertNotNull(cb, "Never received expected $expected. Received: ${events.backtrace()}")
@@ -668,6 +663,20 @@
}
@Test
+ fun testCallbacks_afterRemovingServerModeInterface() {
+ // do not run this test if an interface that can be used for tethering already exists.
+ assumeNoInterfaceForTetheringAvailable()
+
+ val iface = createInterface()
+ requestTetheredInterface().expectOnAvailable()
+ removeInterface(iface)
+
+ val listener = EthernetStateListener()
+ addInterfaceStateListener(listener)
+ listener.assertNoCallback()
+ }
+
+ @Test
fun testGetInterfaceList() {
// Create two test interfaces and check the return list contains the interface names.
val iface1 = createInterface()