All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nativeDarwinTest.Launcher.kt Maven / Gradle / Ivy

There is a newer version: 1.9.0
Show newest version
/*
 * 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.native.Platform
import kotlin.system.*

// This is a separate entry point for tests in background
fun mainBackground(args: Array) {
    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) {
    Platform.isMemoryLeakCheckerActive = true
    workerMain { // autoreleasepool to make sure interop objects are properly freed
        testLauncherEntryPoint(args)
        mainThread.shutdown()
        DefaultDispatcher.shutdown()
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy