1 | #!/usr/bin/env bash
|
2 | #
|
3 | # Usage:
|
4 | # demo/ninja.sh <function name>
|
5 |
|
6 | set -o nounset
|
7 | set -o pipefail
|
8 | set -o errexit
|
9 |
|
10 | test-ninja-quoting() {
|
11 | touch _tmp/{in1,in2}
|
12 | ninja -f demo/demo.ninja
|
13 | }
|
14 |
|
15 | test-shell() {
|
16 | # Same thing as Ninja
|
17 |
|
18 | out='_tmp/out1 _tmp/out2'
|
19 | in='_tmp/in1 _tmp/in2'
|
20 | empty=''
|
21 | sq="''"
|
22 | spaces='foo bar'
|
23 |
|
24 | local command="spec/bin/argv.py $out $empty $in $sq $spaces"
|
25 |
|
26 | # note the same! Because it's word split, and then '' comes through as a
|
27 | # word
|
28 | $command
|
29 |
|
30 | # This is the same!
|
31 | eval "$command"
|
32 | }
|
33 |
|
34 | "$@"
|