blob: 1f9bec4fe9c3abe12f6a7080bced1bc0e82b8774 [file] [log] [blame]
// RUN: %swift-ide-test_plain -test-createCompilerInvocation %s 2>&1
// RUN: %swift-ide-test_plain -test-createCompilerInvocation -emit-executable %s %S/Input/main.swift %S/Input/lib.swift -module-name createCompilerInvocation -emit-module -emit-objc-header -o %t.out 2>&1
// RUN: %swift-ide-test_plain -test-createCompilerInvocation -c %s %S/Input/main.swift %S/Input/lib.swift -module-name createCompilerInvocation -emit-module -emit-objc-header 2>&1
// RUN: not %swift-ide-test_plain -test-createCompilerInvocation -typecheck %s -emit-module-path %t.swiftmodule 2>&1 | %FileCheck --check-prefix=CHECK-FAIL %s
// RUN: not %swift-ide-test_plain -test-createCompilerInvocation -v 2>&1 | %FileCheck --check-prefix=CHECK-FAIL %s
// RUN: %swift-ide-test_plain -test-createCompilerInvocation %s -enable-batch-mode 2>&1 | %FileCheck -allow-empty -check-prefix=CHECK-NOWARN %s
// CHECK-FAIL: error: unable to create a CompilerInvocation
// CHECK-NOWARN-NOT: warning
// RUN: %swift-ide-test_plain -test-createCompilerInvocation \
// RUN: -module-name foo -emit-module -emit-module-path %t/foo.swiftmodule -emit-objc-header -emit-objc-header-path %t/foo.h -enable-library-evolution -emit-module-interface -emit-module-interface-path %t/foo.swiftinterface -emit-library -emit-tbd -emit-tbd-path %t/foo.tbd -emit-dependencies -serialize-diagnostics %s \
// RUN: 2>&1 | %FileCheck %s --check-prefix=NORMAL_ARGS --implicit-check-not="error: "
// NORMAL_ARGS: Frontend Arguments BEGIN
// NORMAL_ARGS-DAG: -o{{$}}
// NORMAL_ARGS-DAG: foo-{{[a-z0-9]+}}.o
// NORMAL_ARGS-DAG: -c{{$}}
// NORMAL_ARGS-DAG: -module-name
// NORMAL_ARGS-DAG: -emit-module-path
// NORMAL_ARGS-DAG: -emit-module-doc-path
// NORMAL_ARGS-DAG: -emit-module-source-info-path
// NORMAL_ARGS-DAG: -emit-module-interface-path
// NORMAL_ARGS-DAG: -emit-objc-header-path
// NORMAL_ARGS-DAG: -emit-tbd-path
// NORMAL_ARGS-DAG: -serialize-diagnostics-path
// NORMAL_ARGS: Frontend Arguments END
// RUN: %swift-ide-test_plain -test-createCompilerInvocation -force-no-outputs \
// RUN: -module-name foo -emit-module -emit-module-path %t/foo.swiftmodule -emit-objc-header -emit-objc-header-path %t/foo.h -enable-library-evolution -emit-module-interface -emit-module-interface-path %t/foo.swiftinterface -emit-library -emit-tbd -emit-tbd-path %t/foo.tbd -emit-dependencies -serialize-diagnostics %s \
// RUN: 2>&1 > %t.nooutput_args
// RUN: %FileCheck %s --check-prefix=NOOUTPUT_ARGS --implicit-check-not="error: " < %t.nooutput_args
// RUN: %FileCheck %s --check-prefix=NOOUTPUT_ARGS_NEG --implicit-check-not="error: " < %t.nooutput_args
// NOOUTPUT_ARGS_NEG-NOT: -o{{$}}
// NOOUTPUT_ARGS_NEG-NOT: foo-{{[a-z0-9]+}}.o
// NOOUTPUT_ARGS_NEG-NOT: -o{{$}}
// NOOUTPUT_ARGS_NEG-NOT: -emit
// NOOUTPUT_ARGS_NEG-NOT: -serialize-diagnostics
// NOOUTPUT_ARGS: Frontend Arguments BEGIN
// NOOUTPUT_ARGS-DAG: -typecheck
// NOOUTPUT_ARGS-DAG: -module-name
// NOOUTPUT_ARGS: Frontend Arguments END