blob: 2bfa62c5252bdc579705c37172e431897f87cdf6 [file] [log] [blame]
// RUN: %target-run-simple-swift
// REQUIRES: executable_test
import StdlibUnittest
#if canImport(Darwin)
import Darwin
#elseif canImport(Glibc)
import Glibc
#elseif os(Windows)
import MSVCRT
#else
#error("Unsupported platform")
#endif
//
// Test that a test runs in its own child process if asked.
//
enum Globals {
static var modifiedByChildProcess = false
}
var TestSuiteRequireNewProcess = TestSuite("TestSuiteRequireNewProcess")
TestSuiteRequireNewProcess.test("RequireOwnProcessBefore")
.code {
Globals.modifiedByChildProcess = true
}
TestSuiteRequireNewProcess.test("RequireOwnProcess")
.requireOwnProcess()
.code {
expectEqual(false, Globals.modifiedByChildProcess)
Globals.modifiedByChildProcess = true
}
TestSuiteRequireNewProcess.test("ShouldNotReusePreviousProcess") {
expectEqual(false, Globals.modifiedByChildProcess)
}
runAllTests()