Fix flaky test for trel service discovery am: ffd3986c99
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/3536080 Change-Id: I8473b80dcea4c2814908fc58bd459b4cda3b66ff Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
986a6deca4
2 changed files with 23 additions and 4 deletions
|
|
@ -595,7 +595,8 @@ public class ServiceDiscoveryTest {
|
|||
DeviceConfigUtils.getDeviceConfigPropertyBoolean(
|
||||
"thread_network", "TrelFeature__enabled", false));
|
||||
|
||||
NsdServiceInfo discoveredService = discoverService(mNsdManager, "_trel._udp");
|
||||
NsdServiceInfo discoveredService =
|
||||
discoverService(mNsdManager, "_trel._udp", mOtCtl.getExtendedAddr());
|
||||
assertThat(discoveredService).isNotNull();
|
||||
// Resolve service with the current TREL port, otherwise it may return stale service from
|
||||
// a previous infra link setup.
|
||||
|
|
@ -618,7 +619,9 @@ public class ServiceDiscoveryTest {
|
|||
DeviceConfigUtils.getDeviceConfigPropertyBoolean(
|
||||
"thread_network", "TrelFeature__enabled", false));
|
||||
|
||||
assertThrows(TimeoutException.class, () -> discoverService(mNsdManager, "_trel._udp"));
|
||||
assertThrows(
|
||||
TimeoutException.class,
|
||||
() -> discoverService(mNsdManager, "_trel._udp", mOtCtl.getExtendedAddr()));
|
||||
}
|
||||
|
||||
private void registerService(NsdServiceInfo serviceInfo, RegistrationListener listener)
|
||||
|
|
|
|||
|
|
@ -479,15 +479,31 @@ object IntegrationTestUtils {
|
|||
return addresses
|
||||
}
|
||||
|
||||
/** Return the first discovered service of `serviceType`. */
|
||||
/** Return the first discovered service of `serviceType`. */
|
||||
@JvmStatic
|
||||
@Throws(Exception::class)
|
||||
fun discoverService(nsdManager: NsdManager, serviceType: String): NsdServiceInfo {
|
||||
return discoverService(nsdManager, serviceType, null)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the service that matches `serviceType` and `serviceName`.
|
||||
*
|
||||
* If `serviceName` is null, returns the first discovered service. `serviceName` is not case
|
||||
* sensitive.
|
||||
*/
|
||||
@JvmStatic
|
||||
@Throws(Exception::class)
|
||||
fun discoverService(nsdManager: NsdManager, serviceType: String, serviceName: String?):
|
||||
NsdServiceInfo {
|
||||
val serviceInfoFuture = CompletableFuture<NsdServiceInfo>()
|
||||
val listener: NsdManager.DiscoveryListener = object : DefaultDiscoveryListener() {
|
||||
override fun onServiceFound(serviceInfo: NsdServiceInfo) {
|
||||
Log.d(TAG, "onServiceFound: $serviceInfo")
|
||||
serviceInfoFuture.complete(serviceInfo)
|
||||
if (serviceName == null ||
|
||||
serviceInfo.getServiceName().equals(serviceName, true /* ignore case */)) {
|
||||
serviceInfoFuture.complete(serviceInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
nsdManager.discoverServices(serviceType, NsdManager.PROTOCOL_DNS_SD, listener)
|
||||
|
|
|
|||
Loading…
Reference in a new issue