blob: 11c260986385318c87e8570913276fac43ab88b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# file : libbuild2/build/script/parser+body.test.testscript
# license : MIT; see accompanying LICENSE file
test.options += -b
: lines
:
$* <<EOI >>EOO
s = 'foo'
if echo "$s" | sed 's/o/a/p' >>>? 'bar'
f = 'baz'
else
f = 'fox'
end
depdb clear
depdb string "$s"
depdb hash "$f"
foo "$s" "$f"
EOI
foo "$s" "$f"
EOO
: temp_dir
:
{
test.options += -t
: no
:
$* <<EOI >false
foo
EOI
: yes
:
$* <<EOI >true
foo
f = $~/f
EOI
: preamble-no
:
$* <<EOI >false
f1 = $~/f2
depdb string "$f1"
f2 = $~/f3
depdb string "$f2"
foo "$f1" "$f2"
EOI
: preamble-yes
:
$* <<EOI >true
f1 = $~/f1
depdb string "$f1"
f2 = $~/f2
foo "$f2"
EOI
}
: command
:
$* <<EOF >>EOF
foo >| 2>- &a &?b
foo >=c 2>~/error:.*/ &!c
foo >>:/~%EOS%
%.*
abc
%xyz.*%
EOS
EOF
: if-else
:
$* <<EOF >>EOF
if foo
bar
elif fox
if fix
baz
end
biz
end
if! foo
bar
elif! fox
baz
end
EOF
: quoting
:
$* <<EOI >>EOO
foo 'bar' "baz" '' ""
"$foo"
"foo$bar"
"fo"o
"foo"\"
"foo\\"
"foo\"<"
fo\"o
fo\\o
fo\<o
"fo<o"
'fo\"o'
f"oo" "ba"r
f"oo" 'ba'r
"fo"'o'
'foo b"ar baz'
EOI
foo 'bar' "baz" '' ""
"$foo"
"foo$bar"
"foo"
"foo\""
"foo\\"
"foo\"<"
fo\"o
fo\\o
fo\<o
"fo<o"
'fo\"o'
"foo bar"
"foo" 'bar'
"foo"
'foo b"ar baz'
EOO
: no-newline
:
$* <:'foo' 2>>EOE != 0
buildfile:11:4: error: expected newline instead of <end of file>
EOE
|