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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# Check that we behave properly when output agnostic arguments are changed.
#
# 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/input
# RUN: cp %s %t.build/build.llbuild
# Both commands should run on the initial build.
#
# RUN: grep -A1000 "VERSION-BEGIN-[1]" %s | grep -B10000 "VERSION-END-1" | grep -ve '^--$' > %t.build/build-1.llbuild
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build -f build-1.llbuild > %t.initial.out
# RUN: %{FileCheck} --check-prefix CHECK-INITIAL --input-file %t.initial.out %s
# CHECK-INITIAL: C.output-2
# CHECK-INITIAL: C.output-1
# RUN: diff %t.build/output-1 %t.build/output-2
# No commands should run on a null rebuild.
#
# RUN: grep -A1000 "VERSION-BEGIN-[2]" %s | grep -B10000 "VERSION-END-2" | grep -ve '^--$' > %t.build/build-2.llbuild
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build -f build-2.llbuild > %t.null.out
# RUN: echo EOF >> %t.null.out
# RUN: %{FileCheck} --check-prefix CHECK-NULL --input-file %t.null.out %s
# RUN: diff %t.build/output-1 %t.build/output-2
# CHECK-NULL-NOT: C.output
# CHECK-NULL: EOF
##### VERSION-BEGIN-1 #####
client:
name: basic
targets:
"": ["<output>"]
nodes:
"<C.output-2.timestamp>":
is-command-timestamp: true
commands:
C.output-1:
tool: shell
inputs: ["<C.output-2.timestamp>"]
outputs: ["<output>"]
description: C.output-1
args: cp output-2 output-1
C.output-2:
tool: shell
inputs: ["input"]
outputs: ["<C.output-2.timestamp>"]
description: C.output-2
args: cp input output-2
signature: cp input output-2
##### VERSION-END-1 #####
##### VERSION-BEGIN-2 #####
client:
name: basic
targets:
"": ["<output>"]
nodes:
"<C.output-2.timestamp>":
is-command-timestamp: true
commands:
C.output-1:
tool: shell
inputs: ["<C.output-2.timestamp>"]
outputs: ["<output>"]
description: C.output-1
args: cp output-2 output-1
C.output-2:
tool: shell
inputs: ["input"]
outputs: ["<C.output-2.timestamp>"]
description: C.output-2
args: cp -v input output-2
signature: cp input output-2
##### VERSION-END-2 #####
|