blob: a2c38a2214e76facc70d80b88797ecd033e1641b [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: cp -r %S/Inputs/moduleonly/* %t
// RUN: touch -t 201801230045 %t/*.swift
// RUN: cd %t && %target-build-swift -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK1 %s
// RUN: test ! -f %t/buildrecord.swiftdeps
// RUN: test -f %t/buildrecord.swiftdeps~moduleonly
// CHECK1-DAG: -primary-file ./foo.swift
// CHECK1-DAG: -primary-file ./bar.swift
// CHECK1-DAG: -primary-file ./baz.swift
// RUN: cd %t && %target-build-swift -c -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK2 %s
// RUN: test -f %t/buildrecord.swiftdeps
// RUN: test -f %t/buildrecord.swiftdeps~moduleonly
// CHECK2-DAG: -primary-file ./foo.swift
// CHECK2-DAG: -primary-file ./bar.swift
// CHECK2-DAG: -primary-file ./baz.swift
// RUN: cd %t && %target-build-swift -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK3 %s
// RUN: test -f %t/buildrecord.swiftdeps~moduleonly
// RUN: test -f %t/buildrecord.swiftdeps
// CHECK3-NOT: -primary-file ./foo.swift
// CHECK3-NOT: -primary-file ./bar.swift
// CHECK3-NOT: -primary-file ./baz.swift
// RUN: touch -t 201801230123 %t/bar.swift
// RUN: cd %t && %target-build-swift -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK4 %s
// CHECK4-NOT: -primary-file ./foo.swift
// CHECK4-NOT: -primary-file ./baz.swift
// CHECK4-DAG: -primary-file ./bar.swift
// RUN: touch -t 201801230145 %t/baz.swift
// RUN: cd %t && %target-build-swift -c -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK5 %s
// CHECK5-NOT: -primary-file ./foo.swift
// CHECK5-DAG: -primary-file ./bar.swift
// CHECK5-DAG: -primary-file ./baz.swift
// RUN: cd %t && %target-build-swift -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1 | %FileCheck -check-prefix=CHECK6 %s
// CHECK6-NOT: -primary-file ./foo.swift
// CHECK6-NOT: -primary-file ./bar.swift
// CHECK6-NOT: -primary-file ./baz.swift
// '-c' (without '-emit-module') from clean environment.
//
// RUN: %empty-directory(%t)
// RUN: cp -r %S/Inputs/moduleonly/* %t
// RUN: touch -t 201801230045 %t/*.swift
// RUN: cd %t && %target-build-swift -c -g -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1
// RUN: test ! -f %t/buildrecord.swiftdeps~moduleonly
// RUN: test -f %t/buildrecord.swiftdeps
// RUN: test ! -f %t/foo~partial.swiftmodule
// '-emit-library -g' (without '-emit-module') from clean environment.
//
// RUN: %empty-directory(%t)
// RUN: cp -r %S/Inputs/moduleonly/* %t
// RUN: touch -t 201801230045 %t/*.swift
// RUN: cd %t && %target-build-swift -emit-library -g -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1
// RUN: test ! -f %t/buildrecord.swiftdeps~moduleonly
// RUN: test -f %t/buildrecord.swiftdeps
// RUN: test -f %t/foo~partial.swiftmodule
// Ensure '-emit-module' and '-c -emit-module' emits identical 'swiftmodule' and 'swiftdoc' file.
//
// RUN: rm -f %t-moduleonly.swiftmodule
// RUN: rm -f %t-moduleonly.swiftdoc
// RUN: %empty-directory(%t)
// RUN: cp -r %S/Inputs/moduleonly/* %t
// RUN: touch -t 201801230045 %t/*.swift
// RUN: cd %t && %target-build-swift -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1
// RUN: cp -f %t/testmodule.swiftmodule %t-moduleonly.swiftmodule
// RUN: cp -f %t/testmodule.swiftdoc %t-moduleonly.swiftdoc
// RUN: %empty-directory(%t)
// RUN: cp -r %S/Inputs/moduleonly/* %t
// RUN: touch -t 201801230045 %t/*.swift
// RUN: cd %t && %target-build-swift -c -emit-module -output-file-map ./output.json -incremental ./foo.swift ./bar.swift ./baz.swift -module-name testmodule -v 2>&1
// RUN: diff %t/testmodule.swiftmodule %t-moduleonly.swiftmodule
// RUN: diff %t/testmodule.swiftdoc %t-moduleonly.swiftdoc