Add EXACTLY_ONCE contract to suspendCoroutine* functions

Update line numbers in the affected test.
This commit is contained in:
Ilya Gorbunov
2020-07-07 04:50:42 +03:00
parent 1a32fdf6d7
commit 2f3e1dcbc6
4 changed files with 23 additions and 11 deletions
@@ -39,11 +39,17 @@ class DispatcherSwitcher(
private val contextDispatcher: TestDispatcher,
private val resumeDispatcher: TestDispatcher
) {
suspend fun run(): Int = suspendCoroutine { cont ->
contextDispatcher.assertThread()
resumeDispatcher.executor.execute {
resumeDispatcher.assertThread()
cont.resume(42)
suspend fun run(): Int {
val sideEffect: Int
val runResult = suspendCoroutine<Int> { cont ->
contextDispatcher.assertThread()
resumeDispatcher.executor.execute {
resumeDispatcher.assertThread()
cont.resume(42)
}
sideEffect = 21
}
assertEquals(21, sideEffect)
return runResult
}
}