Add assertNoCallbackThat
assertNoCallback() fails when any callbacks are received. In some cases, the test is expected to not to receive certain callback, like available or lost. Depending on the network environment, network may trigger linkproperties change. It will fail the test, but these callback does not go against the intention of the test. It should not fail the test. Thus, add this method to allow tests to verify no certain callback received. Bug: 192239030 Test: atest TestableNetworkCallbackTest Change-Id: I7db720becb23636f85a9ac21192f8185eceb22fe
This commit is contained in:
parent
1308667155
commit
cdf45529ad
1 changed files with 10 additions and 0 deletions
|
|
@ -116,6 +116,7 @@ open class RecorderCallback private constructor(
|
|||
val mark get() = history.mark
|
||||
|
||||
override fun onAvailable(network: Network) {
|
||||
Log.d(TAG, "onAvailable $network")
|
||||
history.add(Available(network))
|
||||
}
|
||||
|
||||
|
|
@ -199,6 +200,15 @@ open class TestableNetworkCallback private constructor(
|
|||
if (null != cb) fail("Expected no callback but got $cb")
|
||||
}
|
||||
|
||||
fun assertNoCallbackThat(
|
||||
timeoutMs: Long = defaultTimeoutMs,
|
||||
valid: (CallbackEntry) -> Boolean
|
||||
) {
|
||||
val cb = history.poll(timeoutMs) { valid(it) }.let {
|
||||
if (null != it) fail("Expected no callback but got $it")
|
||||
}
|
||||
}
|
||||
|
||||
// Expects a callback of the specified type on the specified network within the timeout.
|
||||
// If no callback arrives, or a different callback arrives, fail. Returns the callback.
|
||||
inline fun <reified T : CallbackEntry> expectCallback(
|
||||
|
|
|
|||
Loading…
Reference in a new issue