diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2022-03-02 18:09:07 +0100 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2022-03-03 10:23:03 +0100 |
commit | 7ff771321861559905f1681eae8c48b5ef48705f (patch) | |
tree | 526e58297fe4b453b8cbcec7277dab2f54367978 | |
parent | 753cb233e9768239901117f2e78cd19bcc1b1161 (diff) | |
download | justbuild-7ff771321861559905f1681eae8c48b5ef48705f.tar.gz |
Add end-to-end test using built shell scripts to generate files
-rw-r--r-- | test/end-to-end/TARGETS | 1 | ||||
-rw-r--r-- | test/end-to-end/generated-binary/TARGETS | 9 | ||||
-rwxr-xr-x | test/end-to-end/generated-binary/shell-script.sh | 49 |
3 files changed, 59 insertions, 0 deletions
diff --git a/test/end-to-end/TARGETS b/test/end-to-end/TARGETS index 15e20a47..03b76c0e 100644 --- a/test/end-to-end/TARGETS +++ b/test/end-to-end/TARGETS @@ -5,6 +5,7 @@ , "tainted": ["test"] , "dirs": [ [["./", "actions", "TESTS"], "actions"] + , [["./", "generated-binary", "TESTS"], "generated-binary"] , [["./", "targets", "TESTS"], "targets"] ] } diff --git a/test/end-to-end/generated-binary/TARGETS b/test/end-to-end/generated-binary/TARGETS new file mode 100644 index 00000000..2f9164e9 --- /dev/null +++ b/test/end-to-end/generated-binary/TARGETS @@ -0,0 +1,9 @@ +{ "shell": + { "type": ["@", "rules", "shell/test", "script"] + , "name": ["shell"] + , "test": ["shell-script.sh"] + , "keep": ["out/out.txt"] + , "deps": [["test/end-to-end", "tool-under-test"]] + } +, "TESTS": {"type": "install", "tainted": ["test"], "deps": ["shell"]} +} diff --git a/test/end-to-end/generated-binary/shell-script.sh b/test/end-to-end/generated-binary/shell-script.sh new file mode 100755 index 00000000..62dd11fd --- /dev/null +++ b/test/end-to-end/generated-binary/shell-script.sh @@ -0,0 +1,49 @@ +#!/bin/sh +set -e + +mkdir .tool-root +touch ROOT +cat > TARGETS <<'EOI' +{ "script-hello": + { "type": "generic" + , "outs": ["script.sh"] + , "cmds": + [ "echo '#!/bin/sh' > script.sh" + , "echo 'echo Hello World' >> script.sh" + , "chmod 755 script.sh" + ] + } +, "generated-hello": + { "type": "generic" + , "outs": ["out-hello.txt"] + , "deps": ["script-hello"] + , "cmds": ["./script.sh > out-hello.txt"] + } +, "script-morning": + { "type": "generic" + , "outs": ["script.sh"] + , "cmds": + [ "echo '#!/bin/sh' > script.sh" + , "echo 'echo Good morning' >> script.sh" + , "chmod 755 script.sh" + ] + } +, "generated-morning": + { "type": "generic" + , "outs": ["out-morning.txt"] + , "deps": ["script-morning"] + , "cmds": ["./script.sh > out-morning.txt"] + } +, "ALL": + {"type": "generic" + , "deps": ["generated-hello", "generated-morning"] + , "outs": ["out.txt"] + , "cmds": ["cat out-*.txt > out.txt"] + } +} +EOI + + +bin/tool-under-test install -o out --local_build_root .tool-root 2>&1 +grep Hello out/out.txt +grep Good out/out.txt |