From 481c67b6cedc5f0895d6ab0a9c721acc18b11536 Mon Sep 17 00:00:00 2001 From: Anushree Ganjam Date: Thu, 23 Jan 2025 14:46:59 -0800 Subject: [PATCH] Fix the NPE in LockedUserStateTest since mocks gets cleared before the test finishes execution. After ag/31327061 is merged, mocks get cleared in tests. In some cases, mocks are cleared before the executors are completed. So, in teardown, wait for the executors to complete. Bug: 390716213 Test: atest and android studio builds Flag: TEST_ONLY Change-Id: Ie90b0f653d1619180cf177a1010aa646c97fac92 --- .../com/android/launcher3/util/LockedUserStateTest.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/multivalentTests/src/com/android/launcher3/util/LockedUserStateTest.kt b/tests/multivalentTests/src/com/android/launcher3/util/LockedUserStateTest.kt index 74aeadb359..99f5a5bdd4 100644 --- a/tests/multivalentTests/src/com/android/launcher3/util/LockedUserStateTest.kt +++ b/tests/multivalentTests/src/com/android/launcher3/util/LockedUserStateTest.kt @@ -22,7 +22,10 @@ import android.os.Process import android.os.UserManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest +import com.android.launcher3.util.Executors.MAIN_EXECUTOR +import com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR import com.google.common.truth.Truth.assertThat +import org.junit.After import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -45,6 +48,12 @@ class LockedUserStateTest { whenever(context.getSystemService(UserManager::class.java)).thenReturn(userManager) } + @After + fun tearDown() { + UI_HELPER_EXECUTOR.submit {}.get() + MAIN_EXECUTOR.submit {}.get() + } + @Test fun runOnUserUnlocked_runs_action_immediately_if_already_unlocked() { whenever(userManager.isUserUnlocked(Process.myUserHandle())).thenReturn(true)