jvmTest.ConcurrentTestUtilities.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlinx-coroutines-core
Show all versions of kotlinx-coroutines-core
Coroutines support libraries for Kotlin
/*
* Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines.exceptions
import kotlin.random.*
actual fun randomWait() {
val n = Random.nextInt(1000)
if (n < 500) return // no wait 50% of time
repeat(n) {
BlackHole.sink *= 3
}
if (n > 900) Thread.yield()
}
private object BlackHole {
@Volatile
var sink = 1
}
@Suppress("ACTUAL_WITHOUT_EXPECT")
internal actual typealias SuppressSupportingThrowable = Throwable
@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
actual fun Throwable.printStackTrace() = printStackTrace()
actual fun currentThreadName(): String = Thread.currentThread().name