Merge changes from topic "trackrecord-backtrace" into main

* changes:
  ethernet: use TrackRecord backtrace for better failure logs
  ethernet: correctly report tethering interface state
  ethernet: add missing assert in eventuallyExpect helper
This commit is contained in:
Patrick Rohr
2023-08-18 14:10:21 +00:00
committed by Gerrit Code Review
2 changed files with 9 additions and 9 deletions

View File

@@ -325,7 +325,7 @@ public class EthernetTracker {
protected void unicastInterfaceStateChange(@NonNull IEthernetServiceListener listener,
@NonNull String iface) {
ensureRunningOnEthernetServiceThread();
final int state = mFactory.getInterfaceState(iface);
final int state = getInterfaceState(iface);
final int role = getInterfaceRole(iface);
final IpConfiguration config = getIpConfigurationForCallback(iface, state);
try {

View File

@@ -275,16 +275,17 @@ class EthernetManagerTest {
return events.poll(TIMEOUT_MS) ?: fail("Did not receive callback after ${TIMEOUT_MS}ms")
}
fun eventuallyExpect(expected: CallbackEntry) = events.poll(TIMEOUT_MS) { it == expected }
fun eventuallyExpect(expected: CallbackEntry) {
val cb = events.poll(TIMEOUT_MS) { it == expected }
assertNotNull(cb, "Never received expected $expected. Received: ${events.backtrace()}")
}
fun eventuallyExpect(iface: EthernetTestInterface, state: Int, role: Int) {
val event = createChangeEvent(iface.name, state, role)
assertNotNull(eventuallyExpect(event), "Never received expected $event")
eventuallyExpect(createChangeEvent(iface.name, state, role))
}
fun eventuallyExpect(state: Int) {
val event = EthernetStateChanged(state)
assertNotNull(eventuallyExpect(event), "Never received expected $event")
eventuallyExpect(EthernetStateChanged(state))
}
fun assertNoCallback() {
@@ -652,9 +653,8 @@ class EthernetManagerTest {
val listener = EthernetStateListener()
addInterfaceStateListener(listener)
// Note: using eventuallyExpect as there may be other interfaces present.
listener.eventuallyExpect(InterfaceStateChanged(iface.name,
STATE_LINK_UP, ROLE_SERVER, /* IpConfiguration */ null))
// TODO(b/295146844): do not report IpConfiguration for server mode interfaces.
listener.eventuallyExpect(iface, STATE_LINK_UP, ROLE_SERVER)
releaseTetheredInterface()
listener.eventuallyExpect(iface, STATE_LINK_UP, ROLE_CLIENT)