Files
swift-mirror/test/Driver/sdk.swift
Jordan Rose 2d727bb7a3 [Driver] Reject SDKs older than OS X 10.10 or iOS 8.
Actually, reject SDK directories whose names match
  "*OSX<version>(.Internal)?.sdk" on OS X with a version older than 10.10
  "*OS7*" on iOS
  "*Simulator7*" on iOS

We only really care about 10.9 anyway, but just in case people install the
one-previous version of iOS...

<rdar://problem/17951615>

Swift SVN r21100
2014-08-08 00:22:35 +00:00

66 lines
4.3 KiB
Swift

// RUN: %swiftc_driver -driver-print-jobs -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | FileCheck %s
// RUN: env SDKROOT=%S/../Inputs/clang-importer-sdk %swiftc_driver_plain -g -driver-print-jobs %s 2>&1 | FileCheck %s
// CHECK-NOT: warning: no such SDK:
// CHECK: bin/swift
// CHECK: sdk.swift
// CHECK: -sdk {{.*}}/Inputs/clang-importer-sdk
// CHECK-NEXT: bin/swift
// CHECK: -sdk {{.*}}/Inputs/clang-importer-sdk
// CHECK-NEXT: bin/ld {{.*}}.o
// CHECK: -syslibroot {{.*}}/Inputs/clang-importer-sdk
// RUN: %swift_driver -driver-print-jobs -repl -sdk %S/Inputs/nonexistent-sdk 2>&1 | FileCheck %s --check-prefix=SDKWARNING
// RUN: %swift_driver -driver-print-jobs -sdk %S/Inputs/nonexistent-sdk 2>&1 | FileCheck %s --check-prefix=SDKWARNING
// RUN: env SDKROOT=%S/Inputs/nonexistent-sdk %swift_driver_plain -driver-print-jobs -repl 2>&1 | FileCheck %s --check-prefix=SDKWARNING
// SDKWARNING: warning: no such SDK: '{{.*}}/Inputs/nonexistent-sdk'
// SDKWARNING: -sdk {{.*}}/Inputs/nonexistent-sdk
// RUN: %swiftc_driver -driver-print-jobs -parse -sdk %S/../Inputs/clang-importer-sdk -module-cache-path /path/to/cache %s 2>&1 | FileCheck %s --check-prefix=CACHE-PATH
// CACHE-PATH: /path/to/cache
// Test SDK detection for immediate mode.
// RUN: rm -rf %t && mkdir -p %t/usr/bin/
// RUN: cp %S/Inputs/xcrun-bad.sh %t/usr/bin/xcrun
// RUN: env PATH=%t/usr/bin %swift_driver_plain -deprecated-integrated-repl -### | FileCheck -check-prefix=NOSDK %s
// RUN: env PATH=%t/usr/bin %swift_driver_plain -### %s | FileCheck -check-prefix=NOSDK %s
// NOSDK-NOT: -sdk
// RUN: cp %S/Inputs/xcrun.sh %t/usr/bin/xcrun
// RUN: env PATH=%t/usr/bin %swift_driver_plain -deprecated-integrated-repl -### | FileCheck -check-prefix=XCRUN-SDK %s
// RUN: env PATH=%t/usr/bin %swift_driver_plain -### %s | FileCheck -check-prefix=XCRUN-SDK %s
// XCRUN-SDK: -sdk /path/to/sdk
// RUN: cp %S/Inputs/xcrun-empty.sh %t/usr/bin/xcrun
// RUN: env PATH=%t/usr/bin %swift_driver_plain -deprecated-integrated-repl -### | FileCheck -check-prefix=ROOT-SDK %s
// RUN: env PATH=%t/usr/bin %swift_driver_plain -### %s | FileCheck -check-prefix=ROOT-SDK %s
// ROOT-SDK: -sdk /{{\s|$}}
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.8.sdk -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.9.sdk -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.9.sdk/ -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.9.Internal.sdk -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.9.Internal.sdk/ -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.10.sdk -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.10.sdk/ -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.10.Internal.sdk -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.10.Internal.sdk/ -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/MacOSX10.11.sdk -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/OSX11.sdk -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/iPhoneOS7.0.sdk -target x86_64-apple-ios7 -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/iPhoneOS7.0.Internal.sdk -target x86_64-apple-ios7 -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: not %swift_driver -sdk %S/Inputs/fake-sdks/iPhoneSimulator7.0.sdk -target x86_64-apple-ios7 -### 2>&1 | FileCheck -check-prefix=SDK-TOO-OLD %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/iPhoneOS8.0.sdk -target x86_64-apple-ios7 -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/iPhoneOS.sdk -target x86_64-apple-ios7 -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// RUN: %swift_driver -sdk %S/Inputs/fake-sdks/custom-sdk -### 2>&1 | FileCheck -check-prefix=SDK-OKAY %s
// SDK-TOO-OLD: error: the SDK '{{.+}}.sdk' does not support Swift
// SDK-OKAY: -sdk {{.*}}/Inputs/fake-sdks/{{[^/ ]+}}