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 make(1): add test for expanding vari...



details:   https://anonhg.NetBSD.org/src/rev/ea6f819e21d9
branches:  trunk
changeset: 945872:ea6f819e21d9
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Nov 08 16:44:47 2020 +0000

description:
make(1): add test for expanding variable expressions

diffstat:

 distrib/sets/lists/tests/mi                 |   4 ++-
 usr.bin/make/unit-tests/Makefile            |   3 +-
 usr.bin/make/unit-tests/varparse-errors.exp |   1 +
 usr.bin/make/unit-tests/varparse-errors.mk  |  35 +++++++++++++++++++++++++++++
 4 files changed, 41 insertions(+), 2 deletions(-)

diffs (79 lines):

diff -r 29f70e90f3fa -r ea6f819e21d9 distrib/sets/lists/tests/mi
--- a/distrib/sets/lists/tests/mi       Sun Nov 08 15:57:01 2020 +0000
+++ b/distrib/sets/lists/tests/mi       Sun Nov 08 16:44:47 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.963 2020/11/08 02:33:18 rillig Exp $
+# $NetBSD: mi,v 1.964 2020/11/08 16:44:47 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -5499,6 +5499,8 @@
 ./usr/tests/usr.bin/make/unit-tests/varname.mk                                 tests-usr.bin-tests     compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varparse-dynamic.exp                       tests-usr.bin-tests     compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varparse-dynamic.mk                                tests-usr.bin-tests     compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/varparse-errors.exp                                tests-usr.bin-tests     compattestfile,atf
+./usr/tests/usr.bin/make/unit-tests/varparse-errors.mk                         tests-usr.bin-tests     compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varparse-mod.exp                           tests-usr.bin-tests     compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varparse-mod.mk                            tests-usr.bin-tests     compattestfile,atf
 ./usr/tests/usr.bin/make/unit-tests/varparse-undef-partial.exp                 tests-usr.bin-tests     compattestfile,atf
diff -r 29f70e90f3fa -r ea6f819e21d9 usr.bin/make/unit-tests/Makefile
--- a/usr.bin/make/unit-tests/Makefile  Sun Nov 08 15:57:01 2020 +0000
+++ b/usr.bin/make/unit-tests/Makefile  Sun Nov 08 16:44:47 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.190 2020/11/07 23:25:06 rillig Exp $
+# $NetBSD: Makefile,v 1.191 2020/11/08 16:44:47 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -371,6 +371,7 @@
 TESTS+=                varname-pwd
 TESTS+=                varname-vpath
 TESTS+=                varparse-dynamic
+TESTS+=                varparse-errors
 TESTS+=                varparse-mod
 TESTS+=                varparse-undef-partial
 TESTS+=                varquote
diff -r 29f70e90f3fa -r ea6f819e21d9 usr.bin/make/unit-tests/varparse-errors.exp
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/varparse-errors.exp       Sun Nov 08 16:44:47 2020 +0000
@@ -0,0 +1,1 @@
+exit status 0
diff -r 29f70e90f3fa -r ea6f819e21d9 usr.bin/make/unit-tests/varparse-errors.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/usr.bin/make/unit-tests/varparse-errors.mk        Sun Nov 08 16:44:47 2020 +0000
@@ -0,0 +1,35 @@
+# $NetBSD: varparse-errors.mk,v 1.1 2020/11/08 16:44:47 rillig Exp $
+
+# Tests for parsing and evaluating all kinds of variable expressions.
+#
+# This is the basis for redesigning the error handling in Var_Parse and
+# Var_Subst, collecting typical and not so typical use cases.
+#
+# See also:
+#      VarParseResult
+#      Var_Parse
+#      Var_Subst
+
+PLAIN=         plain value
+
+LITERAL_DOLLAR=        To get a dollar, double $$ it.
+
+INDIRECT=      An ${:Uindirect} value.
+
+REF_UNDEF=     A reference to an ${UNDEF}undefined variable.
+
+ERR_UNCLOSED=  An ${UNCLOSED variable expression.
+
+ERR_BAD_MOD=   An ${:Uindirect:Z} expression with an unknown modifier.
+
+ERR_EVAL=      An evaluation error ${:Uvalue:C,.,\3,}.
+
+# In a conditional, a variable expression that is not enclosed in quotes is
+# expanded using the flags VARE_UNDEFERR and VARE_WANTRES.
+# The variable itself must be defined.
+# It may refer to undefined variables though.
+.if ${REF_UNDEF} != "A reference to an undefined variable."
+.  error
+.endif
+
+all:



Home | Main Index | Thread Index | Old Index