Files
swift-mirror/test/NameBinding/import-resolution.swift
Dmitri Hrybenko 3b04d1b013 tests: reorganize tests so that they actually use the target platform
Most tests were using %swift or similar substitutions, which did not
include the target triple and SDK.  The driver was defaulting to the
host OS.  Thus, we could not run the tests when the standard library was
not built for OS X.

Swift SVN r24504
2015-01-19 06:52:49 +00:00

57 lines
2.3 KiB
Swift

// RUN: rm -rf %t
// RUN: mkdir -p %t
// RUN: %target-swift-frontend -parse %s -enable-source-import -I %S/Inputs -sdk "" -verify -show-diagnostics-after-fatal
// RUN: not %target-swift-frontend -parse %s -I %S/Inputs -sdk "" -show-diagnostics-after-fatal 2>&1 | FileCheck %s -check-prefix=CHECK-NO-SOURCE-IMPORT
// RUN: %target-swift-frontend -emit-module -o %t %S/Inputs/abcde.swift
// RUN: %target-swift-frontend -emit-module -o %t %S/Inputs/aeiou.swift
// RUN: %target-swift-frontend -emit-module -o %t %S/Inputs/asdf.swift
// RUN: %target-swift-frontend -emit-module -o %t -I %t %S/Inputs/letters.swift
// RUN: %target-swift-frontend -parse %s -I %t -sdk "" -verify -show-diagnostics-after-fatal
// RUN: %target-swift-ide-test -source-filename %s -print-module-imports -module-to-print=letters -I %t | FileCheck %s -check-prefix=CHECK-IMPORTS
// CHECK-NO-SOURCE-IMPORT: no such module 'letters'
// CHECK-NO-SOURCE-IMPORT: no such module 'abcde'
// CHECK-NO-SOURCE-IMPORT: no such module 'asdf'
import letters
import abcde
import struct asdf.S
var qA : letters.A // expected-error {{ambiguous type name 'A' in module 'letters'}}
var qB : letters.B = abcde.B()
var qC : letters.C = letters.C(b: qB)
var qD : letters.D = asdf.D()
var qE : letters.E = aeiou.E()
var qF : letters.F = letters.F()
letters.abcde.A // expected-error{{module 'letters' has no member named 'abcde'}}
letters.aeiou.A // expected-error{{module 'letters' has no member named 'aeiou'}}
letters.asdf.A // expected-error{{module 'letters' has no member named 'asdf'}}
var uA : A // expected-error {{'A' is ambiguous for type lookup in this context}}
var uB : B = abcde.B()
var uC : C // expected-error {{'C' is ambiguous for type lookup in this context}}
var uD : D // expected-error {{'D' is ambiguous for type lookup in this context}}
var uE : E // expected-error {{'E' is ambiguous for type lookup in this context}}
var uF : F = letters.F()
var qA1 : abcde.A // okay
var qA2 : aeiou.A // okay
var qA3 : asdf.A // expected-error {{no type named 'A' in module 'asdf'}}
var qD1 : asdf.D // okay
var qS1 : asdf.S // okay
// CHECK-IMPORTS: letters:
// CHECK-IMPORTS-DAG: abcde
// CHECK-IMPORTS-DAG: aeiou
// CHECK-IMPORTS-DAG: aeiou.E
// CHECK-IMPORTS-DAG: asdf.D
// CHECK-IMPORTS-NOT: asdf.S
// CHECK-IMPORTS-DAG: asdf:
// CHECK-IMPORTS-DAG: aeiou:
// CHECK-IMPORTS-DAG: aeiou:
// CHECK-IMPORTS-DAG: abcde: