blob: 01cace720cb3a891254e7ef7755099f15a290f09 [file] [log] [blame]
/*
* Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines.channels
import kotlinx.coroutines.*
import org.junit.*
class DoubleChannelCloseStressTest : TestBase() {
private val nTimes = 1000 * stressTestMultiplier
@Test
fun testDoubleCloseStress() {
repeat(nTimes) {
val actor = GlobalScope.actor<Int>(CoroutineName("actor"), start = CoroutineStart.LAZY) {
// empty -- just closes channel
}
GlobalScope.launch(CoroutineName("sender")) {
try {
actor.send(1)
} catch (e: ClosedSendChannelException) {
// ok -- closed before send
}
}
Thread.sleep(1)
actor.close()
}
}
}