mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
test: invoke python scripts with the interpreter
Ensure that we explicitly provide the path to the interpreter when running the python scripts during the tests. This is needed to have the tests work on Windows which does not honour the shebang in the file. It also ensures that we use the correct interpreter for the tests.
This commit is contained in:
@@ -20,40 +20,40 @@
|
||||
//
|
||||
// Setup phase 2: build modules, pushing timestamps of inputs and intermediates into the past as we go.
|
||||
//
|
||||
// RUN: %S/Inputs/make-old.py %t/leaf.swift %t/other.swift
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/leaf.swift %t/other.swift
|
||||
// RUN: %target-swift-frontend -I %t -emit-parseable-module-interface-path %t/LeafModule.swiftinterface -module-name LeafModule %t/leaf.swift -emit-module -o /dev/null
|
||||
// RUN: %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %target-swift-frontend -I %t -module-cache-path %t/modulecache -enable-parseable-module-interface -emit-parseable-module-interface-path %t/OtherModule.swiftinterface -module-name OtherModule %t/other.swift -emit-module -o /dev/null
|
||||
// RUN: %S/Inputs/make-old.py %t/modulecache/LeafModule-*.swiftmodule %t/OtherModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/modulecache/LeafModule-*.swiftmodule %t/OtherModule.swiftinterface
|
||||
// RUN: %target-swift-frontend -I %t -module-cache-path %t/modulecache -enable-parseable-module-interface -emit-module -o %t/TestModule.swiftmodule -module-name TestModule %s
|
||||
// RUN: %S/Inputs/make-old.py %t/modulecache/OtherModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/modulecache/OtherModule-*.swiftmodule
|
||||
//
|
||||
//
|
||||
// Actual test: add an inlinable func with an unused var to LeafModule.swiftinterface (which should emit a warning); check we do get a rebuild, but no warning.
|
||||
//
|
||||
// RUN: %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: echo "@inlinable func foo() { var x = 10 }" >>%t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: rm %t/TestModule.swiftmodule
|
||||
// RUN: %target-swift-frontend -I %t -module-cache-path %t/modulecache -enable-parseable-module-interface -emit-module -o %t/TestModule.swiftmodule -module-name TestModule %s >%t/warn.txt 2>&1
|
||||
// RUN: %S/Inputs/check-is-new.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/check-is-new.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// "check warn.txt exists and is empty"
|
||||
// RUN: test -e %t/warn.txt -a ! -s %t/warn.txt
|
||||
//
|
||||
//
|
||||
// Next test: make LeafModule.swiftinterface import NotAModule (which should emit an error); check we do not get a rebuild, do get an error.
|
||||
//
|
||||
// RUN: %S/Inputs/make-old.py %t/modulecache/*.swiftmodule %t/*.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/modulecache/*.swiftmodule %t/*.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: echo "import NotAModule" >>%t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/make-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/LeafModule.swiftinterface
|
||||
// RUN: rm %t/TestModule.swiftmodule
|
||||
// RUN: not %target-swift-frontend -I %t -module-cache-path %t/modulecache -enable-parseable-module-interface -emit-module -o %t/TestModule.swiftmodule -module-name TestModule %s >%t/err.txt 2>&1
|
||||
// RUN: %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %FileCheck %s -check-prefix=CHECK-ERROR <%t/err.txt
|
||||
// CHECK-ERROR: LeafModule.swiftinterface:6:8: error: no such module 'NotAModule'
|
||||
// CHECK-ERROR: OtherModule.swiftinterface:4:8: error: no such module 'LeafModule'
|
||||
@@ -61,10 +61,10 @@
|
||||
//
|
||||
// Next test: same as above, but with a .dia file
|
||||
//
|
||||
// RUN: %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/OtherModule.swiftinterface %t/LeafModule.swiftinterface
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: not %target-swift-frontend -I %t -module-cache-path %t/modulecache -serialize-diagnostics -serialize-diagnostics-path %t/err.dia -enable-parseable-module-interface -emit-module -o %t/TestModule.swiftmodule -module-name TestModule %s
|
||||
// RUN: %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: %{python} %S/Inputs/check-is-old.py %t/modulecache/OtherModule-*.swiftmodule %t/modulecache/LeafModule-*.swiftmodule
|
||||
// RUN: c-index-test -read-diagnostics %t/err.dia 2>&1 | %FileCheck %s -check-prefix=CHECK-ERROR
|
||||
|
||||
import OtherModule
|
||||
|
||||
Reference in New Issue
Block a user