Files
swift-mirror/test/Frontend/dependencies-preservation.swift
David Farler b7d17b25ba Rename -parse flag to -typecheck
A parse-only option is needed for parse performance tracking and the
current option also includes semantic analysis.
2016-11-28 10:50:55 -08:00

26 lines
1.2 KiB
Swift

// This test verifies that copies of dependency files are preserved after a
// compilation. For example, if the first compilation produces 'foo.swiftdeps',
// a second compilation should move 'foo.swiftdeps' to 'foo.swiftdeps~', then
// overwrite 'foo.swiftdeps' with new dependency information.
// RUN: rm -rf %t && mkdir -p %t
// First, produce the dependency files and verify their contents.
// RUN: %target-swift-frontend -emit-reference-dependencies-path %t.swiftdeps -typecheck -primary-file %S/../Inputs/empty\ file.swift
// RUN: %FileCheck -check-prefix=CHECK %s < %t.swiftdeps
// CHECK-LABEL: provides-top-level:
// CHECK-NOT: "EmptyStruct"
// Next, produce the dependency files again, but this time using a different
// Swift source file than before. .swiftdeps~ should contain the same content
// as before. .swiftdeps should contain content that matches the new source
// file.
// RUN: %target-swift-frontend -emit-reference-dependencies-path %t.swiftdeps -typecheck -primary-file %S/../Inputs/global_resilience.swift
// RUN: %FileCheck -check-prefix=CHECK %s < %t.swiftdeps~
// RUN: %FileCheck -check-prefix=CHECK-OVERWRITTEN %s < %t.swiftdeps
// CHECK-OVERWRITTEN-LABEL: provides-top-level:
// CHECK-OVERWRITTEN: "EmptyStruct"