aboutsummaryrefslogtreecommitdiffstats
path: root/kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt')
-rw-r--r--kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt14
1 files changed, 10 insertions, 4 deletions
diff --git a/kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt b/kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt
index c9f722a5..04b0ba54 100644
--- a/kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt
+++ b/kotlinx-coroutines-core/jvm/test/FailingCoroutinesMachineryTest.kt
@@ -33,7 +33,7 @@ class FailingCoroutinesMachineryTest(
private var caught: Throwable? = null
private val latch = CountDownLatch(1)
- private var exceptionHandler = CoroutineExceptionHandler { _, t -> caught = t;latch.countDown() }
+ private var exceptionHandler = CoroutineExceptionHandler { _, t -> caught = t; latch.countDown() }
private val lazyOuterDispatcher = lazy { newFixedThreadPoolContext(1, "") }
private object FailingUpdate : ThreadContextElement<Unit> {
@@ -115,14 +115,20 @@ class FailingCoroutinesMachineryTest(
@Test
fun testElement() = runTest {
- launch(NonCancellable + dispatcher.value + exceptionHandler + element) {}
+ // Top-level throwing dispatcher may rethrow an exception right here
+ runCatching {
+ launch(NonCancellable + dispatcher.value + exceptionHandler + element) {}
+ }
checkException()
}
@Test
fun testNestedElement() = runTest {
- launch(NonCancellable + dispatcher.value + exceptionHandler) {
- launch(element) { }
+ // Top-level throwing dispatcher may rethrow an exception right here
+ runCatching {
+ launch(NonCancellable + dispatcher.value + exceptionHandler) {
+ launch(element) { }
+ }
}
checkException()
}