# 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 #####
