Module Name:    src
Committed By:   rillig
Date:           Sat Aug  1 12:04:00 UTC 2020

Modified Files:
        src/usr.bin/make/unit-tests: sysv.mk

Log Message:
make(1): add more tests for the SysV modifier


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/sysv.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/unit-tests/sysv.mk
diff -u src/usr.bin/make/unit-tests/sysv.mk:1.9 src/usr.bin/make/unit-tests/sysv.mk:1.10
--- src/usr.bin/make/unit-tests/sysv.mk:1.9	Sun Jul 26 11:19:04 2020
+++ src/usr.bin/make/unit-tests/sysv.mk	Sat Aug  1 12:04:00 2020
@@ -1,4 +1,4 @@
-# $Id: sysv.mk,v 1.9 2020/07/26 11:19:04 rillig Exp $
+# $Id: sysv.mk,v 1.10 2020/08/01 12:04:00 rillig Exp $
 
 all: foo fun sam bla words ampersand anchor-dollar
 all: mismatch
@@ -68,3 +68,28 @@ anchor-dollar:
 mismatch:
 	@echo $@: ${:Ufile.c file.h:%.c=%.cpp}
 	@echo $@: ${:Ufile.c other.c:file.%=renamed.%}
+
+# Trying to cover all possible variants of the SysV modifier.
+LIST=	one two
+EXPR.1=	${LIST:o=X}
+EXP.1=	one twX
+EXPR.2=	${LIST:o=}
+EXP.2=	one tw
+EXPR.3=	${LIST:o=%}
+EXP.3=	one twtwo
+EXPR.4=	${LIST:%o=X}
+EXP.4=	one X
+EXPR.5=	${LIST:o%=X}
+EXP.5=	X twX
+EXPR.6=	${LIST:o%e=X}
+EXP.6=	oXe two
+EXPR.7=	${LIST:o%%e=X}		# Only the first '%' is the wildcard.
+EXP.7=	one two			# None of the words contains a literal '%'.
+EXPR.8=	${LIST:%=%%}
+EXP.8=	oneone twotwo
+
+.for i in ${:U:range=8}
+.if ${EXPR.1} != ${EXP.1}
+.warning expected "${EXP.$i}", got "${EXPR.$i}
+.endif
+.endfor

Reply via email to