Merge "Fix LockSettingsService unit test flakiness" into qt-dev
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
index 09e20e0..1f5ebe4 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
@@ -235,6 +235,10 @@
mPasswordSlotManager.cleanup();
}
+ protected void flushHandlerTasks() {
+ mService.mHandler.runWithScissors(() -> { }, 0 /*now*/); // Flush runnables on handler
+ }
+
protected void assertNotEquals(long expected, long actual) {
assertTrue(expected != actual);
}
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
index 19ed5f3..f85e2cc 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsServiceTestable.java
@@ -163,5 +163,4 @@
}
return storedData;
}
-
}
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java b/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
index 0273f76..1cd590c 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
@@ -232,7 +232,7 @@
reset(mAuthSecretService);
mService.onUnlockUser(PRIMARY_USER_ID);
- mService.mHandler.runWithScissors(() -> {}, 0 /*now*/); // Flush runnables on handler
+ flushHandlerTasks();
verify(mAuthSecretService, never()).primaryUserCredential(any(ArrayList.class));
}
@@ -242,7 +242,7 @@
reset(mAuthSecretService);
mService.onUnlockUser(PRIMARY_USER_ID);
- mService.mHandler.runWithScissors(() -> {}, 0 /*now*/); // Flush runnables on handler
+ flushHandlerTasks();
verify(mAuthSecretService, never()).primaryUserCredential(any(ArrayList.class));
}
@@ -254,7 +254,7 @@
reset(mAuthSecretService);
mService.onUnlockUser(PRIMARY_USER_ID);
- mService.mHandler.runWithScissors(() -> {}, 0 /*now*/); // Flush runnables on handler
+ flushHandlerTasks();
verify(mAuthSecretService).primaryUserCredential(any(ArrayList.class));
}
@@ -357,7 +357,7 @@
handle, token, PASSWORD_QUALITY_SOMETHING, PRIMARY_USER_ID);
// Verify DPM gets notified about new device lock
- mService.mHandler.runWithScissors(() -> {}, 0 /*now*/); // Flush runnables on handler
+ flushHandlerTasks();
final PasswordMetrics metric = PasswordMetrics.computeForCredential(
LockPatternUtils.CREDENTIAL_TYPE_PATTERN, pattern);
verify(mDevicePolicyManager).setActivePasswordState(metric, PRIMARY_USER_ID);
@@ -384,6 +384,7 @@
mLocalService.setLockCredentialWithToken(null, LockPatternUtils.CREDENTIAL_TYPE_NONE,
handle, token, PASSWORD_QUALITY_UNSPECIFIED, PRIMARY_USER_ID);
+ flushHandlerTasks(); // flush the unlockUser() call before changing password again
mLocalService.setLockCredentialWithToken(pattern, LockPatternUtils.CREDENTIAL_TYPE_PATTERN,
handle, token, PASSWORD_QUALITY_SOMETHING, PRIMARY_USER_ID);