Files
swift-mirror/validation-test/StdlibUnittest/ChildProcessShutdown/RequireOwnProcess.swift
Robert Widmann cddf73ecdb [Gardening] Clean Up OS-Test Patterns Across The Codebase
Clean up a few general patterns that are now obviated by canImport

This aligns more generally with the cleanup that the Swift Package
Manager has already done in their automated XCTest-plumbing tool in
apple/swift-package-manager#1826.
2020-06-30 22:55:58 -07:00

42 lines
878 B
Swift

// 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()