Files
swift-mirror/test/Driver/emit-module-from-sib.swift
Doug Gregor 4f7c63daf1 [Test tweak] Use textual output to compare results rather than binary diff
This test depends on comparing the binary .swiftmodule files (with
cmp) using the sib and non-sib paths. However, the binary .swiftmodule
can differ slightly due to type sugar along this path, so use a
textual diff instead... which is also far more readable.
2018-03-25 21:35:16 -07:00

48 lines
1.4 KiB
Swift

// RUN: %empty-directory(%t)
// RUN: %target-swiftc_driver -emit-module -module-name test %s -o %t/a.swiftmodule
// RUN: %target-swiftc_driver -emit-sib -module-name test %s -o - | %target-swiftc_driver -emit-module -module-name test -o %t/b.swiftmodule -
// RUN: mkdir -p %t/a/
// RUN: cp %t/a.swiftmodule %t/a/test.swiftmodule
// RUN: mkdir -p %t/b/
// RUN: cp %t/b.swiftmodule %t/b/test.swiftmodule
// RUN: %target-swift-ide-test -print-module -print-interface -no-empty-line-between-members -module-to-print=test -I %t/a -source-filename=%s > %t.a.swift.txt
// RUN: %target-swift-ide-test -print-module -print-interface -no-empty-line-between-members -module-to-print=test -I %t/b -source-filename=%s > %t.b.swift.txt
// RUN: diff -u %t.a.swift.txt %t.b.swift.txt
// Diff the SIL
// RUN: %target-swift-frontend -emit-sil %t/a/test.swiftmodule > %t.a.sil.txt
// RUN: %target-swift-frontend -emit-sil %t/b/test.swiftmodule > %t.b.sil.txt
// RUN: diff -u %t.a.sil.txt %t.b.sil.txt
public struct Pair<A, B> {
public var first : A
public var second : B
public init(a : A, b : B) {
first = a
second = b
}
}
public extension Pair {
public func swap() -> (B, A) {
return (second, first)
}
}
public class MyClass {
var x : Int
public init(input : Int) {
x = 2 * input
}
public func do_something(input : Int) -> Int {
return x * input
}
}