Merge "[Thread] remove Thread.sleep from CTS tests" into main

This commit is contained in:
Kangping Dong 2024-01-04 11:33:09 +00:00 • committed by Gerrit Code Review
commit 60a36b3163

View file

@ -521,7 +521,7 @@ public class ThreadNetworkControllerTest {
}
@Test
public void scheduleMigration_withPrivilegedPermission_success() throws Exception {
public void scheduleMigration_withPrivilegedPermission_newDatasetApplied() throws Exception {
grantPermissions(permission.ACCESS_NETWORK_STATE, PERMISSION_THREAD_NETWORK_PRIVILEGED);
for (ThreadNetworkController controller : getAllControllers()) {
@ -548,11 +548,32 @@ public class ThreadNetworkControllerTest {
controller.scheduleMigration(
pendingDataset2, mExecutor, newOutcomeReceiver(migrateFuture));
migrateFuture.get();
Thread.sleep(35 * 1000);
assertThat(getActiveOperationalDataset(controller)).isEqualTo(activeDataset2);
assertThat(getPendingOperationalDataset(controller)).isNull();
SettableFuture<Boolean> dataset2IsApplied = SettableFuture.create();
SettableFuture<Boolean> pendingDatasetIsRemoved = SettableFuture.create();
OperationalDatasetCallback datasetCallback =
new OperationalDatasetCallback() {
@Override
public void onActiveOperationalDatasetChanged(
ActiveOperationalDataset activeDataset) {
if (activeDataset.equals(activeDataset2)) {
dataset2IsApplied.set(true);
}
}
@Override
public void onPendingOperationalDatasetChanged(
PendingOperationalDataset pendingDataset) {
if (pendingDataset == null) {
pendingDatasetIsRemoved.set(true);
}
}
};
controller.registerOperationalDatasetCallback(directExecutor(), datasetCallback);
assertThat(dataset2IsApplied.get()).isTrue();
assertThat(pendingDatasetIsRemoved.get()).isTrue();
controller.unregisterOperationalDatasetCallback(datasetCallback);
}
}
@ -629,7 +650,8 @@ public class ThreadNetworkControllerTest {
}
@Test
public void scheduleMigration_secondRequestHasLargerTimestamp_success() throws Exception {
public void scheduleMigration_secondRequestHasLargerTimestamp_newDatasetApplied()
throws Exception {
grantPermissions(permission.ACCESS_NETWORK_STATE, PERMISSION_THREAD_NETWORK_PRIVILEGED);
for (ThreadNetworkController controller : getAllControllers()) {
@ -669,11 +691,32 @@ public class ThreadNetworkControllerTest {
migrateFuture1.get();
controller.scheduleMigration(
pendingDataset2, mExecutor, newOutcomeReceiver(migrateFuture2));
migrateFuture2.get();
Thread.sleep(35 * 1000);
assertThat(getActiveOperationalDataset(controller)).isEqualTo(activeDataset2);
assertThat(getPendingOperationalDataset(controller)).isNull();
SettableFuture<Boolean> dataset2IsApplied = SettableFuture.create();
SettableFuture<Boolean> pendingDatasetIsRemoved = SettableFuture.create();
OperationalDatasetCallback datasetCallback =
new OperationalDatasetCallback() {
@Override
public void onActiveOperationalDatasetChanged(
ActiveOperationalDataset activeDataset) {
if (activeDataset.equals(activeDataset2)) {
dataset2IsApplied.set(true);
}
}
@Override
public void onPendingOperationalDatasetChanged(
PendingOperationalDataset pendingDataset) {
if (pendingDataset == null) {
pendingDatasetIsRemoved.set(true);
}
}
};
controller.registerOperationalDatasetCallback(directExecutor(), datasetCallback);
assertThat(dataset2IsApplied.get()).isTrue();
assertThat(pendingDatasetIsRemoved.get()).isTrue();
controller.unregisterOperationalDatasetCallback(datasetCallback);
}
}