From 3528f2121655873b75142d698d63a77137ba7ff7 Mon Sep 17 00:00:00 2001 From: Alejandro Nijamkin Date: Thu, 16 Feb 2023 22:01:20 -0800 Subject: [PATCH] Fixes failing CustomizationProviderTest. The issue was the recent introduction of runBlocking { } calls in ag/21396218. These block the logic on the current thread, causing unit test runners to choke. Instead, we should use runBlocking(CoroutineDispatcher) { } to make sure that the suspend function yields back to the running test. In addition to that change, we also needed to move the test onto an UnconfinedTestDispatcher. Fix: 269679515 Test: tests pass locally with atest Change-Id: Iff661303af8791df7751fac7788681a105d47a75 --- .../com/android/systemui/keyguard/CustomizationProvider.kt | 4 ++-- .../android/systemui/keyguard/CustomizationProviderTest.kt | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt index 79de6bf9ada0b..27a5974e6299c 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt @@ -131,7 +131,7 @@ class CustomizationProvider : throw UnsupportedOperationException() } - return runBlocking { insertSelection(values) } + return runBlocking(mainDispatcher) { insertSelection(values) } } override fun query( @@ -171,7 +171,7 @@ class CustomizationProvider : throw UnsupportedOperationException() } - return runBlocking { deleteSelection(uri, selectionArgs) } + return runBlocking(mainDispatcher) { deleteSelection(uri, selectionArgs) } } override fun call(method: String, arg: String?, extras: Bundle?): Bundle? { diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/CustomizationProviderTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/CustomizationProviderTest.kt index f8bd48c79f1a0..a4e5bcaecde4d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/CustomizationProviderTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/CustomizationProviderTest.kt @@ -62,7 +62,6 @@ import com.android.systemui.util.mockito.whenever import com.android.systemui.util.settings.FakeSettings import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.runTest @@ -104,7 +103,7 @@ class CustomizationProviderTest : SysuiTestCase() { whenever(backgroundHandler.looper).thenReturn(TestableLooper.get(this).looper) underTest = CustomizationProvider() - val testDispatcher = StandardTestDispatcher() + val testDispatcher = UnconfinedTestDispatcher() testScope = TestScope(testDispatcher) val localUserSelectionManager = KeyguardQuickAffordanceLocalUserSelectionManager(