blob: 12541bd90f03caf4557185352a90dfdcb03cb3c2 [file] [log] [blame]
/*
* 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)
}