From bd82483aef2b10e164d6978b2b51201d2b0a2abd Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 17 Oct 2024 00:17:03 +0200 Subject: [PATCH] Fix ANRv2 test flakyness (#3798) * try to fix ANRv2 test flakyness * try to fix ANRv2 test flakyness --- .../test/java/io/sentry/android/core/SentryAndroidTest.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt index d75e0f88a2..c31076d1ff 100644 --- a/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt +++ b/sentry-android-core/src/test/java/io/sentry/android/core/SentryAndroidTest.kt @@ -6,6 +6,7 @@ import android.app.ApplicationExitInfo import android.content.Context import android.os.Build import android.os.Bundle +import android.os.Looper import android.os.SystemClock import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -55,6 +56,7 @@ import org.mockito.kotlin.spy import org.mockito.kotlin.times import org.mockito.kotlin.verify import org.mockito.kotlin.whenever +import org.robolectric.Shadows import org.robolectric.annotation.Config import org.robolectric.shadow.api.Shadow import org.robolectric.shadows.ShadowActivityManager @@ -439,8 +441,10 @@ class SentryAndroidTest { await.withAlias("Failed because of BeforeSend callback above, but we swallow BeforeSend exceptions, hence the timeout") .untilTrue(asserted) + // Execute all posted tasks + Shadows.shadowOf(Looper.getMainLooper()).idle() + // assert that persisted values have changed - options.executorService.close(10000L) // finalizes all enqueued persisting tasks assertEquals( "TestActivity", PersistingScopeObserver.read(options, TRANSACTION_FILENAME, String::class.java)