aboutsummaryrefslogtreecommitdiffstats
path: root/unit-tests/forloop
diff options
context:
space:
mode:
Diffstat (limited to 'unit-tests/forloop')
-rw-r--r--unit-tests/forloop45
1 files changed, 45 insertions, 0 deletions
diff --git a/unit-tests/forloop b/unit-tests/forloop
new file mode 100644
index 000000000000..0b50e6675f6c
--- /dev/null
+++ b/unit-tests/forloop
@@ -0,0 +1,45 @@
+# $Id: forloop,v 1.1.1.1 2012/06/19 23:30:49 sjg Exp $
+
+all: for-loop
+
+LIST = one "two and three" four "five"
+
+.if make(for-fail)
+for-fail:
+
+XTRA_LIST = xtra
+.else
+
+.for x in ${LIST}
+X!= echo 'x=$x' >&2; echo
+.endfor
+
+CFL = -I/this -I"This or that" -Ithat "-DTHIS=\"this and that\""
+cfl=
+.for x in ${CFL}
+X!= echo 'x=$x' >&2; echo
+.if empty(cfl)
+cfl= $x
+.else
+cfl+= $x
+.endif
+.endfor
+X!= echo 'cfl=${cfl}' >&2; echo
+
+.if ${cfl} != ${CFL}
+.error ${.newline}'${cfl}' != ${.newline}'${CFL}'
+.endif
+
+.for a b in ${EMPTY}
+X!= echo 'a=$a b=$b' >&2; echo
+.endfor
+.endif
+
+.for a b in ${LIST} ${LIST:tu} ${XTRA_LIST}
+X!= echo 'a=$a b=$b' >&2; echo
+.endfor
+
+for-loop:
+ @echo We expect an error next:
+ @(cd ${.CURDIR} && ${.MAKE} -f ${MAKEFILE} for-fail) && \
+ { echo "Oops that should have failed!"; exit 1; } || echo OK