Make assertions worker-friendly. (#2152)
This commit is contained in:
@@ -12,7 +12,10 @@ import kotlin.native.concurrent.*
|
||||
@Test fun runTest() {
|
||||
val worker = Worker.start()
|
||||
val future = worker.execute(TransferMode.SAFE, { "Input" }) {
|
||||
input -> input + " processed"
|
||||
input ->
|
||||
assertEquals(1, 1)
|
||||
assertFailsWith<AssertionError> { assertEquals(1, 2) }
|
||||
input + " processed"
|
||||
}
|
||||
future.consume {
|
||||
result -> println("Got $result")
|
||||
|
||||
@@ -172,11 +172,5 @@ private fun checkFailedAssertion(assertion: () -> Unit) {
|
||||
|
||||
@Suppress("INVISIBLE_MEMBER")
|
||||
private fun withDefaultAsserter(block: () -> Unit) {
|
||||
val current = overrideAsserter(DefaultAsserter)
|
||||
try {
|
||||
block()
|
||||
}
|
||||
finally {
|
||||
overrideAsserter(current)
|
||||
}
|
||||
block()
|
||||
}
|
||||
|
||||
@@ -18,10 +18,7 @@ import kotlin.reflect.KClass
|
||||
* Current adapter providing assertion implementations
|
||||
*/
|
||||
private val asserter: Asserter
|
||||
get() = _asserter ?: lookupAsserter()
|
||||
|
||||
/** Used to override current asserter internally */
|
||||
internal var _asserter: Asserter? = null
|
||||
get() = DefaultAsserter
|
||||
|
||||
/** Asserts that the given [block] returns `true`. */
|
||||
public fun assertTrue(message: String? = null, block: () -> Boolean): Unit = assertTrue(block(), message)
|
||||
|
||||
@@ -6,9 +6,4 @@
|
||||
package kotlin.test
|
||||
|
||||
@PublishedApi
|
||||
internal fun messagePrefix(message: String?) = if (message == null) "" else "$message. "
|
||||
|
||||
internal fun lookupAsserter(): Asserter = DefaultAsserter
|
||||
|
||||
@PublishedApi // required to get stable name as it's called from box tests
|
||||
internal fun overrideAsserter(value: Asserter?): Asserter? = _asserter.also { _asserter = value }
|
||||
internal fun messagePrefix(message: String?) = if (message == null) "" else "$message. "
|
||||
Reference in New Issue
Block a user