1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
# Windows doesn't have a way to exec python files
# UNSUPPORTED: platform=Windows
# Check that we behave properly when a command changes.
#
# This is a regression test for a subtle bug when our hash function was too
# trivial, and ended up reversing itself due to trivial XOR combining.
#
# We use 'grep' to slice out two different subfiles from the same file.
#
# RUN: rm -rf %t.build
# RUN: mkdir -p %t.build
# RUN: touch %t.build/s1.swift %t.build/s2.swift
#
# RUN: grep -A1000 "VERSION-BEGIN-[1]" %s | grep -B10000 "VERSION-END-1" | grep -ve '^--$' > %t.build/build.swift-build.tmp
# RUN: sed -e "s#SOURCEDIR#%S#g" -e "s#TMPDIR#%t#g" < %t.build/build.swift-build.tmp > %t.build/build.swift-build
# RUN: %{swift-build-tool} -v --chdir %t.build > %t1.out
# RUN: %{FileCheck} --check-prefix CHECK-VERSION-1 --input-file %t1.out %s
#
# RUN: grep -A1000 "VERSION-BEGIN-[2]" %s | grep -B10000 "VERSION-END-2" | grep -ve '^--$' > %t.build/build.swift-build.tmp
# RUN: sed -e "s#SOURCEDIR#%S#g" -e "s#TMPDIR#%t#g" < %t.build/build.swift-build.tmp > %t.build/build.swift-build
# RUN: %{swift-build-tool} -v --chdir %t.build > %t2.out
# RUN: %{FileCheck} --check-prefix CHECK-VERSION-2 --input-file %t2.out %s
##### VERSION-BEGIN-1 #####
# CHECK-VERSION-1: swiftc {{.*}} s1.swift s2.swift
client:
name: swift-build
targets:
"": ["s1.o"]
commands:
C1:
tool: swift-compiler
inputs: ["s1.swift", "s2.swift"]
outputs: ["s1.o", "s2.o"]
executable: SOURCEDIR/Inputs/pseudo-swiftc
module-name: Foo
module-output-path: Foo.swiftmodule
sources: ["s1.swift", "s2.swift"]
objects: ["s1.o", "s2.o"]
temps-path: temps
is-library: true
##### VERSION-END-1 #####
##### VERSION-BEGIN-2 #####
# CHECK-VERSION-2: swiftc {{.*}} s1.swift
client:
name: swift-build
targets:
"": ["s1.o"]
commands:
C1:
tool: swift-compiler
inputs: ["s1.swift"]
outputs: ["s1.o"]
executable: SOURCEDIR/Inputs/pseudo-swiftc
module-name: Foo
module-output-path: Foo.swiftmodule
sources: ["s1.swift"]
objects: ["s1.o"]
temps-path: temps
is-library: true
##### VERSION-END-2 #####
|