blob: 0fdcca66f04f3661fc7065dddad508fb49378ba9 [file] [log] [blame]
# Check behavior when a command directly depends on a file seen through a
# symbolic link.
#
# RUN: rm -rf %t.build
# RUN: mkdir -p %t.build
# RUN: echo "input" > %t.build/input
# RUN: cp %s %t.build/build.llbuild
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t.out
# RUN: %{FileCheck} --input-file=%t.out %s --check-prefix=CHECK-INITIAL
# RUN: diff %t.build/input %t.build/output
#
# CHECK-INITIAL: LINK
# CHECK-INITIAL: CONSUMER
# Check that a null build does nothing.
#
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t2.out
# RUN: echo "END-OF-FILE" >> %t2.out
# RUN: %{FileCheck} --input-file=%t2.out %s --check-prefix=CHECK-REBUILD
#
# CHECK-REBUILD-NOT: LINK
# CHECK-REBUILD-NOT: CONSUMER
# Check that a modification triggers only the re-consumption.
#
# RUN: echo "MOD" >> %t.build/input
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t3.out
# RUN: %{FileCheck} --input-file=%t3.out %s --check-prefix=CHECK-AFTER-MOD
# RUN: diff %t.build/input %t.build/output
#
# CHECK-AFTER-MOD-NOT: LINK
# CHECK-AFTER-MOD: CONSUMER
# Check that another null build does nothing.
#
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t4.out
# RUN: echo "END-OF-FILE" >> %t4.out
# RUN: %{FileCheck} --input-file=%t4.out %s --check-prefix=CHECK-REBUILD
client:
name: basic
targets:
"": ["output"]
commands:
C.consumer:
tool: shell
description: CONSUMER
inputs: ["link"]
outputs: ["output"]
args: cp link output
C.phony:
tool: phony
inputs: ["<link>"]
outputs: ["link"]
C.link:
tool: symlink
description: LINK
outputs: ["<link>"]
link-output-path: "link"
contents: input