Module Name:    src
Committed By:   rillig
Date:           Fri Jul 31 16:42:51 UTC 2020

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/usr.bin/make/unit-tests: Makefile
Added Files:
        src/usr.bin/make/unit-tests: dir.exp dir.mk

Log Message:
make(1): add test for braces in dependency lines

The comment at DirExpandCurly says something about "recursively", but the
nested braces don't work.

The manual page only mentions that "{} may be used", but it keeps quiet
about the exact meaning and also doesn't mention any nesting.


To generate a diff of this commit:
cvs rdiff -u -r1.881 -r1.882 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.76 -r1.77 src/usr.bin/make/unit-tests/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/dir.exp \
    src/usr.bin/make/unit-tests/dir.mk

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

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.881 src/distrib/sets/lists/tests/mi:1.882
--- src/distrib/sets/lists/tests/mi:1.881	Tue Jul 28 22:44:44 2020
+++ src/distrib/sets/lists/tests/mi	Fri Jul 31 16:42:51 2020
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.881 2020/07/28 22:44:44 rillig Exp $
+# $NetBSD: mi,v 1.882 2020/07/31 16:42:51 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -4536,6 +4536,8 @@
 ./usr/tests/usr.bin/make/unit-tests/cond1.mk	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/cond2.exp	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/cond2.mk	tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/dir.exp	tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/dir.mk	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/directives.exp	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/directives.mk	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/dollar.exp	tests-usr.bin-tests	compattestfile,atf

Index: src/usr.bin/make/unit-tests/Makefile
diff -u src/usr.bin/make/unit-tests/Makefile:1.76 src/usr.bin/make/unit-tests/Makefile:1.77
--- src/usr.bin/make/unit-tests/Makefile:1.76	Wed Jul 29 19:48:33 2020
+++ src/usr.bin/make/unit-tests/Makefile	Fri Jul 31 16:42:51 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.76 2020/07/29 19:48:33 rillig Exp $
+# $NetBSD: Makefile,v 1.77 2020/07/31 16:42:51 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -37,6 +37,7 @@ TESTS+=		cond-late
 TESTS+=		cond-short
 TESTS+=		cond1
 TESTS+=		cond2
+TESTS+=		dir
 TESTS+=		directives
 TESTS+=		dollar
 TESTS+=		doterror

Added files:

Index: src/usr.bin/make/unit-tests/dir.exp
diff -u /dev/null src/usr.bin/make/unit-tests/dir.exp:1.1
--- /dev/null	Fri Jul 31 16:42:51 2020
+++ src/usr.bin/make/unit-tests/dir.exp	Fri Jul 31 16:42:51 2020
@@ -0,0 +1,11 @@
+make: Unterminated {} clause "thiteen"
+1
+2
+3
+4
+5
+make: don't know how to make fouteen (continuing)
+make: don't know how to make rteen (continuing)
+15
+`all' not remade because of errors.
+exit status 0
Index: src/usr.bin/make/unit-tests/dir.mk
diff -u /dev/null src/usr.bin/make/unit-tests/dir.mk:1.1
--- /dev/null	Fri Jul 31 16:42:51 2020
+++ src/usr.bin/make/unit-tests/dir.mk	Fri Jul 31 16:42:51 2020
@@ -0,0 +1,33 @@
+# $NetBSD: dir.mk,v 1.1 2020/07/31 16:42:51 rillig Exp $
+#
+# Tests for dir.c.
+
+# Dependency lines may use braces for expansion.
+all: {one,two,three}
+
+one:
+	@echo 1
+two:
+	@echo 2
+three:
+	@echo 3
+
+# The braces may start in the middle of a word.
+all: f{our,ive}
+
+four:
+	@echo 4
+five:
+	@echo 5
+six:
+	@echo 6
+
+# But nested braces don't work.
+all: {{thi,fou}r,fif}teen
+
+thirteen:
+	@echo 13
+fourteen:
+	@echo 14
+fifteen:
+	@echo 15

Reply via email to