# Check basic handling of dependencies.
#
# RUN: rm -rf %t.build
# RUN: mkdir -p %t.build
# RUN: cp %s %t.build/build.llbuild
# RUN: echo "INITIAL" > %t.build/input-1
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t.out
# RUN: test -f %t.build/output-1
# RUN: %{FileCheck} --check-prefix=CHECK-INITIAL-OUTPUT-1 --input-file %t.build/output-1 %s
# RUN: %{FileCheck} --check-prefix=CHECK-INITIAL --input-file %t.out %s
# RUN: diff %t.build/output-1 %t.build/output
#
# CHECK-INITIAL: cat input-1 > output-1
# CHECK-INITIAL: cp output-1 output
#
# CHECK-INITIAL-OUTPUT-1: INITIAL

# Verify that a rebuild after modifying the input performs as expected.
#
# RUN: echo "REBUILD" >> %t.build/input-1
# RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t.out
# RUN: test -f %t.build/output-1
# RUN: %{FileCheck} --check-prefix=CHECK-REBUILD-OUTPUT-1 --input-file %t.build/output-1 %s
# RUN: %{FileCheck} --check-prefix=CHECK-REBUILD --input-file %t.out %s
# RUN: diff %t.build/output-1 %t.build/output
#
# CHECK-REBUILD: cat input-1 > output-1
# CHECK-REBUILD: cp output-1 output
#
# CHECK-REBUILD-OUTPUT-1: INITIAL
# CHECK-REBUILD-OUTPUT-1: REBUILD

client:
  name: basic

targets:
  "": ["output"]

commands:
  cat-1:
    tool: shell
    inputs: ["input-1"]
    outputs: ["output-1"]
    args: cat input-1 > output-1
    
  cp-output:
    tool: shell
    inputs: ["output-1"]
    outputs: ["output"]
    args: cp output-1 output
