| # Check the handling of discovered dependencies in shell commands. |
| |
| # We test with a simple command that just writes a fake .d file which lists an |
| # input dependency on "header-1". |
| |
| # RUN: rm -rf %t.build |
| # RUN: mkdir -p %t.build |
| # RUN: touch %t.build/header\ with\ space-1 %t.build/input-1 |
| # RUN: cp %s %t.build/build.llbuild |
| |
| |
| # Check the first build. |
| # |
| # RUN: %{llbuild} buildsystem build --serial --chdir %t.build > %t1.out |
| # RUN: %{FileCheck} --check-prefix=CHECK-INITIAL --input-file=%t1.out %s |
| # |
| # CHECK-INITIAL: CC output-1 |
| # CHECK-INITIAL: cat output-1 > output |
| |
| |
| # Check a build that modifies the header. |
| # |
| # RUN: echo "mod" >> %t.build/header\ with\ space-1 |
| # RUN: %{llbuild} buildsystem build --serial --chdir %t.build &> %t2.out |
| # RUN: %{FileCheck} --check-prefix=CHECK-AFTER-MOD --input-file=%t2.out %s |
| # |
| # CHECK-AFTER-MOD: CC output-1 |
| # CHECK-AFTER-MOD: cat output-1 > output |
| |
| client: |
| name: basic |
| |
| targets: |
| "": ["output"] |
| |
| commands: |
| output-1: |
| tool: shell |
| inputs: ["input-1"] |
| outputs: ["output-1"] |
| args: "echo \"output-1: input-1 header\\ with\\ space-1\" > output-1.d && cat input-1 header\\ with\\ space-1 > output-1" |
| description: CC output-1 |
| deps: output-1.d |
| deps-style: makefile |
| |
| output: |
| tool: shell |
| inputs: ["output-1"] |
| outputs: ["output"] |
| args: cat output-1 > output |
| |