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:
@@ -325,7 +325,7 @@ public class EthernetTracker {
|
|||||||
protected void unicastInterfaceStateChange(@NonNull IEthernetServiceListener listener,
|
protected void unicastInterfaceStateChange(@NonNull IEthernetServiceListener listener,
|
||||||
@NonNull String iface) {
|
@NonNull String iface) {
|
||||||
ensureRunningOnEthernetServiceThread();
|
ensureRunningOnEthernetServiceThread();
|
||||||
final int state = mFactory.getInterfaceState(iface);
|
final int state = getInterfaceState(iface);
|
||||||
final int role = getInterfaceRole(iface);
|
final int role = getInterfaceRole(iface);
|
||||||
final IpConfiguration config = getIpConfigurationForCallback(iface, state);
|
final IpConfiguration config = getIpConfigurationForCallback(iface, state);
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -275,16 +275,17 @@ class EthernetManagerTest {
|
|||||||
return events.poll(TIMEOUT_MS) ?: fail("Did not receive callback after ${TIMEOUT_MS}ms")
|
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) {
|
fun eventuallyExpect(iface: EthernetTestInterface, state: Int, role: Int) {
|
||||||
val event = createChangeEvent(iface.name, state, role)
|
eventuallyExpect(createChangeEvent(iface.name, state, role))
|
||||||
assertNotNull(eventuallyExpect(event), "Never received expected $event")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun eventuallyExpect(state: Int) {
|
fun eventuallyExpect(state: Int) {
|
||||||
val event = EthernetStateChanged(state)
|
eventuallyExpect(EthernetStateChanged(state))
|
||||||
assertNotNull(eventuallyExpect(event), "Never received expected $event")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assertNoCallback() {
|
fun assertNoCallback() {
|
||||||
@@ -652,9 +653,8 @@ class EthernetManagerTest {
|
|||||||
|
|
||||||
val listener = EthernetStateListener()
|
val listener = EthernetStateListener()
|
||||||
addInterfaceStateListener(listener)
|
addInterfaceStateListener(listener)
|
||||||
// Note: using eventuallyExpect as there may be other interfaces present.
|
// TODO(b/295146844): do not report IpConfiguration for server mode interfaces.
|
||||||
listener.eventuallyExpect(InterfaceStateChanged(iface.name,
|
listener.eventuallyExpect(iface, STATE_LINK_UP, ROLE_SERVER)
|
||||||
STATE_LINK_UP, ROLE_SERVER, /* IpConfiguration */ null))
|
|
||||||
|
|
||||||
releaseTetheredInterface()
|
releaseTetheredInterface()
|
||||||
listener.eventuallyExpect(iface, STATE_LINK_UP, ROLE_CLIENT)
|
listener.eventuallyExpect(iface, STATE_LINK_UP, ROLE_CLIENT)
|
||||||
|
|||||||
Reference in New Issue
Block a user