diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt b/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt index 82eb147c84c1..2c01e7b67448 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt @@ -130,7 +130,10 @@ interface OnErrorListener { fun T.launchCatchingIO(block: suspend T.() -> U): Job where T : ViewModel, T : OnErrorListener = viewModelScope.launchCatching( ioDispatcher, - { onError.emit(it) }, + { + onError.emit(it) + if (throwOnShowError) throw IllegalStateException("throwOnShowError: $it") + }, { block() }, ) diff --git a/AnkiDroid/src/test/java/com/ichi2/anki/RobolectricTest.kt b/AnkiDroid/src/test/java/com/ichi2/anki/RobolectricTest.kt index d758f8297613..00f2ded1e91c 100644 --- a/AnkiDroid/src/test/java/com/ichi2/anki/RobolectricTest.kt +++ b/AnkiDroid/src/test/java/com/ichi2/anki/RobolectricTest.kt @@ -100,7 +100,7 @@ open class RobolectricTest : controllersForCleanup.add(controller) } - /** Allows [com.ichi2.testutils.Flaky] to annotate tests in subclasses */ + /** Allows [com.ichi2.testutils.common.Flaky] to annotate tests in subclasses */ @get:Rule val ignoreFlakyTests = IgnoreFlakyTestsInCIRule() diff --git a/AnkiDroid/src/test/java/com/ichi2/anki/previewer/PreviewerViewModelTest.kt b/AnkiDroid/src/test/java/com/ichi2/anki/previewer/PreviewerViewModelTest.kt index e28b1ffd18c3..bfbb511afe02 100644 --- a/AnkiDroid/src/test/java/com/ichi2/anki/previewer/PreviewerViewModelTest.kt +++ b/AnkiDroid/src/test/java/com/ichi2/anki/previewer/PreviewerViewModelTest.kt @@ -121,6 +121,7 @@ class PreviewerViewModelTest : JvmTest() { } @Test + @Flaky(OS.ALL, "#19729") fun `toggle back side only`() = runTest { assertFalse(viewModel.backSideOnly.value) // initial state should be false @@ -176,7 +177,7 @@ class PreviewerViewModelTest : JvmTest() { } @Test - @Flaky(OS.ALL) // 19729: failed on macOS + @Flaky(OS.ALL, "#19729") fun `next, slider and previous navigation integration`() = runTest { // 1. Start at Index 0 (Question) diff --git a/AnkiDroid/src/test/java/com/ichi2/testutils/JvmTest.kt b/AnkiDroid/src/test/java/com/ichi2/testutils/JvmTest.kt index ca96889bd789..b4173f8a46fc 100644 --- a/AnkiDroid/src/test/java/com/ichi2/testutils/JvmTest.kt +++ b/AnkiDroid/src/test/java/com/ichi2/testutils/JvmTest.kt @@ -20,10 +20,16 @@ import androidx.annotation.CallSuper import com.ichi2.anki.ioDispatcher import com.ichi2.anki.libanki.testutils.InMemoryAnkiTest import com.ichi2.anki.observability.ChangeManager +import com.ichi2.testutils.common.IgnoreFlakyTestsInCIRule import kotlinx.coroutines.test.TestDispatcher import org.junit.Before +import org.junit.Rule open class JvmTest : InMemoryAnkiTest() { + /** Allows [com.ichi2.testutils.common.Flaky] to annotate tests in subclasses */ + @get:Rule + val ignoreFlakyTests = IgnoreFlakyTestsInCIRule() + @Before @CallSuper override fun setUp() {