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