-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Launcher.kt
28 lines (24 loc) · 860 Bytes
/
Launcher.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
* Copyright 2016-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.coroutines
import platform.CoreFoundation.*
import kotlin.native.concurrent.*
import kotlin.native.internal.test.*
import kotlin.system.*
// This is a separate entry point for tests in background
fun mainBackground(args: Array<String>) {
val worker = Worker.start(name = "main-background")
worker.execute(TransferMode.SAFE, { args.freeze() }) {
val result = testLauncherEntryPoint(it)
exitProcess(result)
}
CFRunLoopRun()
error("CFRunLoopRun should never return")
}
// This is a separate entry point for tests with leak checker
fun mainNoExit(args: Array<String>) {
workerMain { // autoreleasepool to make sure interop objects are properly freed
testLauncherEntryPoint(args)
}
}