Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make/unit-tests Add unit-tests for .for
details: https://anonhg.NetBSD.org/src/rev/19805d2bedf7
branches: trunk
changeset: 779804:19805d2bedf7
user: sjg <sjg%NetBSD.org@localhost>
date: Tue Jun 19 23:25:53 2012 +0000
description:
Add unit-tests for .for
diffstat:
usr.bin/make/unit-tests/Makefile | 3 +-
usr.bin/make/unit-tests/forloop | 45 ++++++++++++++++++++++++++++++++++++++++
usr.bin/make/unit-tests/test.exp | 18 ++++++++++++++++
3 files changed, 65 insertions(+), 1 deletions(-)
diffs (94 lines):
diff -r 7b5651044867 -r 19805d2bedf7 usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile Tue Jun 19 22:12:03 2012 +0000
+++ b/usr.bin/make/unit-tests/Makefile Tue Jun 19 23:25:53 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.33 2011/09/29 23:38:04 sjg Exp $
+# $NetBSD: Makefile,v 1.34 2012/06/19 23:25:53 sjg Exp $
#
# Unit tests for make(1)
# The main targets are:
@@ -26,6 +26,7 @@
export-all \
doterror \
dotwait \
+ forloop \
forsubst \
hash \
misc \
diff -r 7b5651044867 -r 19805d2bedf7 usr.bin/make/unit-tests/forloop
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/forloop Tue Jun 19 23:25:53 2012 +0000
@@ -0,0 +1,45 @@
+# $Id: forloop,v 1.1 2012/06/19 23:25:53 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
diff -r 7b5651044867 -r 19805d2bedf7 usr.bin/make/unit-tests/test.exp
--- a/usr.bin/make/unit-tests/test.exp Tue Jun 19 22:12:03 2012 +0000
+++ b/usr.bin/make/unit-tests/test.exp Tue Jun 19 23:25:53 2012 +0000
@@ -80,6 +80,24 @@
make: Graph cycles through `cycle.2.97'
cycle.1.99
cycle.1.99
+x=one
+x="two and three"
+x=four
+x="five"
+x=-I/this
+x=-I"This or that"
+x=-Ithat
+x="-DTHIS=\"this and that\""
+cfl=-I/this -I"This or that" -Ithat "-DTHIS=\"this and that\""
+a=one b="two and three"
+a=four b="five"
+a=ONE b="TWO AND THREE"
+a=FOUR b="FIVE"
+We expect an error next:
+make: "forloop" line 38: Wrong number of words (9) in .for substitution list with 2 vars
+make: Fatal errors encountered -- cannot continue
+make: stopped in unit-tests
+OK
.for with :S;... OK
b2af338b
3360ac65
Home |
Main Index |
Thread Index |
Old Index