| # Check that the BuildSystem C API example builds and runs correctly. |
| # |
| # RUN: cc -o %t.exe %{srcroot}/examples/c-api/buildsystem/main.c -I %{srcroot}/products/libllbuild/public-api -lllbuild -L %{llbuild-lib-dir} -Werror |
| # RUN: env LD_LIBRARY_PATH=%{llbuild-lib-dir} %t.exe %s > %t.out |
| # RUN: cat %t.out |
| # RUN: %{FileCheck} %s --input-file %t.out |
| # |
| # CHECK: -- read file contents: {{.*}}/buildsystem-capi.llbuild |
| # CHECK: initial build: |
| # CHECK: -- stat: / |
| # CHECK: command_started: <hello> -- HELLO |
| # CHECK: command_finished: <hello> |
| # CHECK: command_started: <fancy-thing> |
| # CHECK: fancy_command_execute_command |
| # CHECK: command_finished: <fancy-thing> |
| # CHECK: command_started: <error> -- FAILING-COMMAND |
| # CHECK: had_command_failure |
| # CHECK: build had command failures |
| # |
| # CHECK: second build: |
| # CHECK: command_started: <error> -- FAILING-COMMAND |
| # CHECK: build had command failures |
| |
| client: |
| name: basic |
| version: 0 |
| |
| tools: { "fancy": {} } |
| |
| targets: |
| "": ["<all>"] |
| |
| nodes: |
| "/": { "is-directory": false } |
| |
| commands: |
| "<all>": |
| tool: phony |
| inputs: ["<error>"] |
| outputs: ["<all>"] |
| |
| "<hello>": |
| tool: shell |
| args: ["echo", "Hello, world!"] |
| inputs: ["/"] |
| outputs: ["<hello>"] |
| description: HELLO |
| |
| "<fancy-thing>": |
| tool: fancy |
| inputs: ["<hello>"] |
| outputs: ["<fancy-thing>"] |
| |
| "<error>": |
| tool: shell |
| args: ["false"] |
| inputs: ["<hello>", "<fancy-thing>"] |
| outputs: ["<error>"] |
| description: FAILING-COMMAND |