23 lines
736 B
Kotlin
23 lines
736 B
Kotlin
/*
|
|
* Copyright 2016-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
|
|
*/
|
|
|
|
package kotlinx.coroutines.test
|
|
|
|
import kotlinx.coroutines.*
|
|
import org.junit.*
|
|
import java.time.*
|
|
|
|
const val SLOW = 10_000L
|
|
|
|
/**
|
|
* Assert a block completes within a second or fail the suite
|
|
*/
|
|
suspend fun CoroutineScope.assertRunsFast(block: suspend CoroutineScope.() -> Unit) {
|
|
val start = Instant.now().toEpochMilli()
|
|
// don't need to be fancy with timeouts here since anything longer than a few ms is an error
|
|
block()
|
|
val duration = Instant.now().minusMillis(start).toEpochMilli()
|
|
Assert.assertTrue("All tests must complete within 2000ms (use longer timeouts to cause failure)", duration < 2_000)
|
|
}
|