mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
69 lines
2.8 KiB
Swift
69 lines
2.8 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %empty-directory(%t/macos_module)
|
|
// RUN: %empty-directory(%t/maccatalyst_module)
|
|
|
|
|
|
// Build a zippered library
|
|
|
|
// Emit a zippered library and a module for use from macOSProcesses
|
|
// RUN: %target-build-swift-dylib(%t/%target-library-name(availability_zippered)) %S/Inputs/availability_zippered.swift -target %target-cpu-apple-macosx10.15 -target-variant %target-cpu-apple-ios13.1-macabi -emit-module -emit-module-path %t/macos_module/
|
|
// RUN: %target-codesign %t/%target-library-name(availability_zippered)
|
|
|
|
// Emit just an macCatalyst module for use from an macCatalyst process
|
|
// RUN: %target-build-swift %S/Inputs/availability_zippered.swift -target %target-cpu-apple-ios13.1-macabi -emit-module -emit-module-path %t/maccatalyst_module/
|
|
|
|
// Build a macOS executable that calls into the library
|
|
// RUN: %target-build-swift -emit-executable -target %target-cpu-apple-macosx10.15 %s -lavailability_zippered -I %t/macos_module -L %t -o %t/a-macos.out
|
|
// RUN: %target-codesign %t/a-macos.out
|
|
|
|
// Built an macCatalyst executable that calls into the library.
|
|
// RUN: %target-build-swift -target %target-cpu-apple-ios13.1-macabi %s -lavailability_zippered -I %t/maccatalyst_module -L %t -o %t/a-maccatalyst.out
|
|
// RUN: %target-codesign %t/a-maccatalyst.out
|
|
|
|
// RUN: %target-run %t/a-macos.out %t/%target-library-name(availability_zippered)
|
|
// RUN: %target-run %t/a-maccatalyst.out %t/%target-library-name(availability_zippered)
|
|
|
|
// REQUIRES: executable_test
|
|
// REQUIRES: maccatalyst_support
|
|
// REQUIRES: OS=maccatalyst || OS=macosx
|
|
|
|
|
|
import availability_zippered
|
|
|
|
// The purpose of this test is to check the semantics of #available in zippered
|
|
// code. Executables themselves can't be zippered (only libraries) so we
|
|
// call into a zippered dylib.
|
|
|
|
import StdlibUnittest
|
|
|
|
var ZipperedAvailabilityTestSuite = TestSuite("ZipperedAvailabilityTestSuite")
|
|
|
|
#if os(macOS)
|
|
ZipperedAvailabilityTestSuite.test("zippered availability macOS") {
|
|
expectFalse(isMacOSAfterFarFutureOriOSAfterFarFuture())
|
|
expectTrue(isMacOSAfterDistantPastOriOSAfterDistantPast())
|
|
|
|
expectTrue(isMacOSAfterDistantPastOriOSAfterFarFuture())
|
|
expectFalse(isMacOSAfterFarFutureOriOSAfterDistantPast())
|
|
|
|
expectTrue(isMacOSAfterDistantPastOriOSAfterFarFuture())
|
|
expectFalse(isMacOSAfterFarFutureOriOSAfterDistantPast())
|
|
}
|
|
#endif
|
|
|
|
#if os(iOS)
|
|
ZipperedAvailabilityTestSuite.test("zippered availability iOS") {
|
|
expectFalse(isMacOSAfterFarFutureOriOSAfterFarFuture())
|
|
expectTrue(isMacOSAfterDistantPastOriOSAfterDistantPast())
|
|
|
|
// These tests will fail on systems earlier than macOS 10.15.
|
|
expectFalse(isMacOSAfterDistantPastOriOSAfterFarFuture())
|
|
expectTrue(isMacOSAfterFarFutureOriOSAfterDistantPast())
|
|
expectFalse(isMacOSAfterDistantPastOriOSAfterFarFuture())
|
|
expectTrue(isMacOSAfterFarFutureOriOSAfterDistantPast())
|
|
}
|
|
#endif
|
|
|
|
|
|
runAllTests()
|