Files
kotlin-fork/backend.native/tests/runtime/workers/worker3.kt
T
2017-10-20 18:25:05 +03:00

31 lines
800 B
Kotlin

package runtime.workers.worker3
import kotlin.test.*
import konan.worker.*
data class WorkerArgument(val intParam: Int, val stringParam: String)
data class WorkerResult(val intResult: Int, val stringResult: String)
@Test fun runTest() {
main(emptyArray())
}
fun main(args: Array<String>) {
val worker = startWorker()
val s = "zzz${args.size.toString()}"
val future = try {
worker.schedule(TransferMode.CHECKED,
{ WorkerArgument(42, s) },
{ input -> WorkerResult(input.intParam, input.stringParam + " result") }
)
} catch (e: IllegalStateException) {
null
}
if (future != null)
println("Fail 1")
if (s != "zzz0") println("Fail 2")
worker.requestTermination().consume { _ -> }
println("OK")
}