1comment testing start
2this is foo
3This is how a comment looks: # comment
4comment testing done
5make: "cond1" line 75: warning: extra else
6make: "cond1" line 85: warning: extra else
72 is  prime
8A='other' B='unknown' C='clever' o='no,no'
9Passed:
10 var
11 ("var")
12 (var != var)
13 var != var
14 !((var != var) && defined(name))
15 var == quoted
16
171 is not prime
182 is  prime
193 is  prime
204 is not prime
215 is  prime
22
23make: warning: String comparison operator should be either == or !=
24make: Bad conditional expression `"0" > 0' in "0" > 0?OK:No
25
26OK
27make: "error" line 3: just FYI
28make: "error" line 4: warning: this could be serious
29make: "error" line 5: this is fatal
30UT_DOLLAR=This is $UT_FU
31UT_FOO=foobar is fubar
32UT_FU=fubar
33UT_TEST=export
34UT_ZOO=hoopie
35UT_ALL=even this gets exported
36UT_BADDIR=unit-tests
37UT_DOLLAR=This is $UT_FU
38UT_F=fine
39UT_FOO=foobar is fubar
40UT_FU=fubar
41UT_NO=all
42UT_OK=good
43UT_OKDIR=unit-tests
44UT_TEST=export-all
45UT_ZOO=hoopie
46At first, I am
47happy
48and now: sad
49.ERROR: Looks like 'sad' is upset.
50*** Error code 1
51
52Stop.
53make: stopped in unit-tests
54simple.1
55simple.1
56simple.2
57simple.2
58recursive.1.1.*
59recursive.1.1.*
60recursive.1.1.*
61recursive.1.1.*
62recursive.1.99
63recursive.1.99
64recursive.2.1.*
65recursive.2.1.*
66recursive.2.1.*
67recursive.2.1.*
68recursive.2.99
69recursive.2.99
70shared.0
71shared.0
72shared.1.99
73shared.1.99
74shared.2.1
75shared.2.1
76shared.2.99
77shared.2.99
78make: Graph cycles through `cycle.2.99'
79make: Graph cycles through `cycle.2.98'
80make: Graph cycles through `cycle.2.97'
81cycle.1.99
82cycle.1.99
83.for with :S;... OK
84b2af338b
853360ac65
867747f046
879ca87054
88880fe816
89208fcbd3
90d5d376eb
91de41416c
92Expect: Unknown modifier 'Z'
93make: Unknown modifier 'Z'
94VAR:Z=
95Expect: Unknown modifier 'Z'
96make: Unknown modifier 'Z'
97VAR:Z=
98Expect: Unclosed variable specification for VAR
99make: Unclosed variable specification (expecting '}') for "VAR" (value "Thevariable") modifier S
100VAR:S,V,v,=Thevariable
101Expect: Unclosed variable specification for VAR
102make: Unclosed variable specification after complex modifier (expecting '}') for VAR
103VAR:S,V,v,=Thevariable
104Expect: Unclosed substitution for VAR (, missing)
105make: Unclosed substitution for VAR (, missing)
106VAR:S,V,v=
107LIB=a X_LIBS:M${LIB${LIB:tu}} is "/tmp/liba.a"
108LIB=a X_LIBS:M*/lib${LIB}.a is "/tmp/liba.a"
109LIB=a X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBA.A"
110LIB=b X_LIBS:M${LIB${LIB:tu}} is ""
111LIB=b X_LIBS:M*/lib${LIB}.a is ""
112LIB=b X_LIBS:M*/lib${LIB}.a:tu is ""
113LIB=c X_LIBS:M${LIB${LIB:tu}} is ""
114LIB=c X_LIBS:M*/lib${LIB}.a is ""
115LIB=c X_LIBS:M*/lib${LIB}.a:tu is ""
116LIB=d X_LIBS:M${LIB${LIB:tu}} is "/tmp/libd.a"
117LIB=d X_LIBS:M*/lib${LIB}.a is "/tmp/libd.a"
118LIB=d X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBD.A"
119LIB=e X_LIBS:M${LIB${LIB:tu}} is "/tmp/libe.a"
120LIB=e X_LIBS:M*/lib${LIB}.a is "/tmp/libe.a"
121LIB=e X_LIBS:M*/lib${LIB}.a:tu is "/TMP/LIBE.A"
122Mscanner=OK
123path=':/bin:/tmp::/:.:/no/such/dir:.'
124path='/bin:/tmp:/:/no/such/dir'
125path='/bin:/tmp:/:/no/such/dir'
126path='/bin':'/tmp':'/':'/no/such/dir'
127path='/bin':'/tmp':'/':'/no/such/dir'
128path_/usr/xbin=/opt/xbin/
129paths=/bin /tmp / /no/such/dir /opt/xbin
130PATHS=/BIN /TMP / /NO/SUCH/DIR /OPT/XBIN
131The answer is 42
132LIST      = one two three four five six seven eight nine ten
133LIST:O    = eight five four nine one seven six ten three two
134LIST:Ox   = Ok
135LIST:O:Ox = Ok
136LISTX     = Ok
137LISTSX    = Ok
138make: Bad modifier `:OX' for LIST
139BADMOD 1  = }
140make: Bad modifier `:OxXX' for LIST
141BADMOD 2  = XX}
142LIST="one two three four five six"
143LIST:ts,="one,two,three,four,five,six"
144LIST:ts/:tu="ONE/TWO/THREE/FOUR/FIVE/SIX"
145LIST:ts::tu="ONE:TWO:THREE:FOUR:FIVE:SIX"
146LIST:ts:tu="ONETWOTHREEFOURFIVESIX"
147LIST:tu:ts/="ONE/TWO/THREE/FOUR/FIVE/SIX"
148LIST:ts:="one:two:three:four:five:six"
149LIST:ts="onetwothreefourfivesix"
150LIST:ts:S/two/2/="one2threefourfivesix"
151LIST:S/two/2/:ts="one2threefourfivesix"
152LIST:ts/:S/two/2/="one/2/three/four/five/six"
153Pretend the '/' in '/n' etc. below are back-slashes.
154LIST:ts/n="one
155two
156three
157four
158five
159six"
160LIST:ts/t="one	two	three	four	five	six"
161LIST:ts/012:tu="ONE
162TWO
163THREE
164FOUR
165FIVE
166SIX"
167make: Bad modifier `:tx' for LIST
168LIST:tx="}"
169make: Bad modifier `:ts\x' for LIST
170LIST:ts/x:tu="\x:tu}"
171FU_mod-ts="a/b/cool"
172FU_mod-ts:ts:T="cool" == cool?
173B.${AAA:ts}="Baaa" == Baaa?
174make: Bad modifier `:[]' for LIST
175LIST:[]="" is an error
176LIST:[0]="one two three four five six"
177LIST:[0x0]="one two three four five six"
178LIST:[000]="one two three four five six"
179LIST:[*]="one two three four five six"
180LIST:[@]="one two three four five six"
181LIST:[0]:C/ /,/="one,two three four five six"
182LIST:[0]:C/ /,/g="one,two,three,four,five,six"
183LIST:[0]:C/ /,/1g="one,two,three,four,five,six"
184LIST:[*]:C/ /,/="one,two three four five six"
185LIST:[*]:C/ /,/g="one,two,three,four,five,six"
186LIST:[*]:C/ /,/1g="one,two,three,four,five,six"
187LIST:[@]:C/ /,/="one two three four five six"
188LIST:[@]:C/ /,/g="one two three four five six"
189LIST:[@]:C/ /,/1g="one two three four five six"
190LIST:[@]:[0]:C/ /,/="one,two three four five six"
191LIST:[0]:[@]:C/ /,/="one two three four five six"
192LIST:[@]:[*]:C/ /,/="one,two three four five six"
193LIST:[*]:[@]:C/ /,/="one two three four five six"
194EMPTY=""
195EMPTY:[#]="1" == 1 ?
196ESCAPEDSPACE="\ "
197ESCAPEDSPACE:[#]="1" == 1 ?
198REALLYSPACE=" "
199REALLYSPACE:[#]="1" == 1 ?
200LIST:[#]="6"
201LIST:[0]:[#]="1" == 1 ?
202LIST:[*]:[#]="1" == 1 ?
203LIST:[@]:[#]="6"
204LIST:[1]:[#]="1"
205LIST:[1..3]:[#]="3"
206EMPTY:[1]=""
207ESCAPEDSPACE="\ "
208ESCAPEDSPACE:[1]="\ "
209REALLYSPACE=" "
210REALLYSPACE:[1]="" == "" ?
211REALLYSPACE:[*]:[1]=" " == " " ?
212LIST:[1]="one"
213make: Bad modifier `:[1.]' for LIST
214LIST:[1.]="" is an error
215make: Bad modifier `:[1].' for LIST
216LIST:[1].="}" is an error
217LIST:[2]="two"
218LIST:[6]="six"
219LIST:[7]=""
220LIST:[999]=""
221make: Bad modifier `:[-]' for LIST
222LIST:[-]="" is an error
223make: Bad modifier `:[--]' for LIST
224LIST:[--]="" is an error
225LIST:[-1]="six"
226LIST:[-2]="five"
227LIST:[-6]="one"
228LIST:[-7]=""
229LIST:[-999]=""
230LONGLIST:[17]="17"
231LONGLIST:[0x11]="17"
232LONGLIST:[021]="17"
233LIST:[0]:[1]="one two three four five six"
234LIST:[*]:[1]="one two three four five six"
235LIST:[@]:[1]="one"
236LIST:[0]:[2]=""
237LIST:[*]:[2]=""
238LIST:[@]:[2]="two"
239LIST:[*]:C/ /,/:[2]=""
240LIST:[*]:C/ /,/:[*]:[2]=""
241LIST:[*]:C/ /,/:[@]:[2]="three"
242make: Bad modifier `:[1.]' for LIST
243LIST:[1.]="" is an error
244make: Bad modifier `:[1..]' for LIST
245LIST:[1..]="" is an error
246LIST:[1..1]="one"
247make: Bad modifier `:[1..1.]' for LIST
248LIST:[1..1.]="" is an error
249LIST:[1..2]="one two"
250LIST:[2..1]="two one"
251LIST:[3..-2]="three four five"
252LIST:[-4..4]="three four"
253make: Bad modifier `:[0..1]' for LIST
254LIST:[0..1]="" is an error
255make: Bad modifier `:[-1..0]' for LIST
256LIST:[-1..0]="" is an error
257LIST:[-1..1]="six five four three two one"
258LIST:[0..0]="one two three four five six"
259LIST:[3..99]="three four five six"
260LIST:[-3..-99]="four three two one"
261LIST:[-99..-3]="one two three four"
262HASH="#" == "#" ?
263LIST:[${HASH}]="6"
264LIST:[${ZERO}]="one two three four five six"
265LIST:[${ZERO}x${ONE}]="one"
266LIST:[${ONE}]="one"
267LIST:[${MINUSONE}]="six"
268LIST:[${STAR}]="one two three four five six"
269LIST:[${AT}]="one two three four five six"
270make: Bad modifier `:[${EMPTY' for LIST
271LIST:[${EMPTY}]="" is an error
272LIST:[${LONGLIST:[21]:S/2//}]="one"
273LIST:[${LIST:[#]}]="six"
274LIST:[${LIST:[${HASH}]}]="six"
275LIST:S/ /,/="one two three four five six"
276LIST:S/ /,/W="one,two three four five six"
277LIST:S/ /,/gW="one,two,three,four,five,six"
278EMPTY:S/^/,/=","
279EMPTY:S/^/,/W=","
280LIST:C/ /,/="one two three four five six"
281LIST:C/ /,/W="one,two three four five six"
282LIST:C/ /,/gW="one,two,three,four,five,six"
283EMPTY:C/^/,/=","
284EMPTY:C/^/,/W=","
285LIST:tW="one two three four five six"
286LIST:tw="one two three four five six"
287LIST:tW:C/ /,/="one,two three four five six"
288LIST:tW:C/ /,/g="one,two,three,four,five,six"
289LIST:tW:C/ /,/1g="one,two,three,four,five,six"
290LIST:tw:C/ /,/="one two three four five six"
291LIST:tw:C/ /,/g="one two three four five six"
292LIST:tw:C/ /,/1g="one two three four five six"
293LIST:tw:tW:C/ /,/="one,two three four five six"
294LIST:tW:tw:C/ /,/="one two three four five six"
295.TARGET="phony" .PREFIX="phony" .IMPSRC=""
296.TARGET="all" .PREFIX="all" .IMPSRC=""
297.TARGET="ok" .PREFIX="ok" .IMPSRC=""
298.TARGET="also.ok" .PREFIX="also.ok" .IMPSRC=""
299.TARGET="bug" .PREFIX="bug" .IMPSRC=""
300Posix says we should execute the command as if run by system(3)
301Expect 'Hello,' and 'World!'
302Hello,
303World!
304a command
305a command prefixed by '+' executes even with -n
306another command
307make -n
308echo a command
309echo "a command prefixed by '+' executes even with -n"
310a command prefixed by '+' executes even with -n
311echo another command
312make -n -j1
313{ echo a command
314} || exit $?
315echo "a command prefixed by '+' executes even with -n"
316a command prefixed by '+' executes even with -n
317{ echo another command
318} || exit $?
319Now we expect an error...
320*** Error code 1 (continuing)
321`all' not remade because of errors.
322V.i386 ?= OK
323FOOBAR =
324FOOBAR = foobar fubar
325fun
326fun
327fun
328In the Sun
329The answer is unknown
330The answer is unknown
331The answer is empty
332The answer is known
333The answer is
334The answer is empty
335The answer is known
336The answer is 42
337The answer is 42
338UT_DOLLAR=This is $UT_FU
339UT_FU=fubar
340UT_TEST=unexport
341UT_TEST=unexport-env
342default FU=<v>fu</v> FOO=<v>foo</v> VAR=<v></v>
343two FU=<v>bar</v> FOO=<v>goo</v> VAR=<v></v>
344three FU=<v>bar</v> FOO=<v>goo</v> VAR=<v></v>
345four FU=<v>bar</v> FOO=<v>goo</v> VAR=<v>Internal</v>
346five FU=<v>bar</v> FOO=<v>goo</v> VAR=<v>Internal</v>
347five v=is x k=is x
348six v=is y k=is y
349show-v v=override k=override
350*** Error code 1 (ignored)
351*** Error code 1 (ignored)
352