Module Name:    src
Committed By:   rillig
Date:           Sat Jan 11 20:16:40 UTC 2025

Modified Files:
        src/usr.bin/make/unit-tests: check-expect.lua cond-token-string.mk
            cond-undef-lint.mk directive-include.mk opt-debug-lint.mk
            vardebug.mk varmod-edge.mk varmod.mk varname.mk

Log Message:
tests/make: force correct order of expected messages


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/check-expect.lua
cvs rdiff -u -r1.13 -r1.14 src/usr.bin/make/unit-tests/cond-token-string.mk \
    src/usr.bin/make/unit-tests/vardebug.mk
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/cond-undef-lint.mk
cvs rdiff -u -r1.16 -r1.17 src/usr.bin/make/unit-tests/directive-include.mk
cvs rdiff -u -r1.20 -r1.21 src/usr.bin/make/unit-tests/opt-debug-lint.mk \
    src/usr.bin/make/unit-tests/varmod.mk
cvs rdiff -u -r1.31 -r1.32 src/usr.bin/make/unit-tests/varmod-edge.mk
cvs rdiff -u -r1.15 -r1.16 src/usr.bin/make/unit-tests/varname.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/check-expect.lua
diff -u src/usr.bin/make/unit-tests/check-expect.lua:1.9 src/usr.bin/make/unit-tests/check-expect.lua:1.10
--- src/usr.bin/make/unit-tests/check-expect.lua:1.9	Sat Jul 20 11:05:11 2024
+++ src/usr.bin/make/unit-tests/check-expect.lua	Sat Jan 11 20:16:40 2025
@@ -1,5 +1,5 @@
 #!  /usr/bin/lua
--- $NetBSD: check-expect.lua,v 1.9 2024/07/20 11:05:11 rillig Exp $
+-- $NetBSD: check-expect.lua,v 1.10 2025/01/11 20:16:40 rillig Exp $
 
 --[[
 
@@ -151,6 +151,9 @@ local function check_mk(mk_fname)
             by_location[location][i] = ""
             found = true
             break
+          elseif message ~= "" then
+            print_error("error: %s:%d: out-of-order '%s'",
+              mk_fname, mk_lineno, message)
           end
         end
       end

Index: src/usr.bin/make/unit-tests/cond-token-string.mk
diff -u src/usr.bin/make/unit-tests/cond-token-string.mk:1.13 src/usr.bin/make/unit-tests/cond-token-string.mk:1.14
--- src/usr.bin/make/unit-tests/cond-token-string.mk:1.13	Thu Aug 29 20:20:36 2024
+++ src/usr.bin/make/unit-tests/cond-token-string.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: cond-token-string.mk,v 1.13 2024/08/29 20:20:36 rillig Exp $
+# $NetBSD: cond-token-string.mk,v 1.14 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for quoted string literals in .if conditions.
 #
@@ -10,8 +10,8 @@
 
 # Cover the code in CondParser_String that frees the memory after parsing
 # an expression based on an undefined variable.
-# expect+2: Malformed conditional '"" != "${:Uvalue:Z}"'
-# expect+1: Unknown modifier "Z"
+# expect+2: Unknown modifier "Z"
+# expect+1: Malformed conditional '"" != "${:Uvalue:Z}"'
 .if "" != "${:Uvalue:Z}"
 .  error
 .else
Index: src/usr.bin/make/unit-tests/vardebug.mk
diff -u src/usr.bin/make/unit-tests/vardebug.mk:1.13 src/usr.bin/make/unit-tests/vardebug.mk:1.14
--- src/usr.bin/make/unit-tests/vardebug.mk:1.13	Thu Aug 29 20:20:36 2024
+++ src/usr.bin/make/unit-tests/vardebug.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: vardebug.mk,v 1.13 2024/08/29 20:20:36 rillig Exp $
+# $NetBSD: vardebug.mk,v 1.14 2025/01/11 20:16:40 rillig Exp $
 #
 # Demonstrates the debugging output for var.c.
 
@@ -58,8 +58,8 @@ VAR+=		3
 # When ApplyModifiers results in an error, this appears in the debug log
 # as "is error", without surrounding quotes.
 # expect: Result of ${:unknown} is error (eval-defined, defined)
-# expect+2: Malformed conditional '${:Uvariable:unknown}'
-# expect+1: Unknown modifier "unknown"
+# expect+2: Unknown modifier "unknown"
+# expect+1: Malformed conditional '${:Uvariable:unknown}'
 .if ${:Uvariable:unknown}
 .endif
 

Index: src/usr.bin/make/unit-tests/cond-undef-lint.mk
diff -u src/usr.bin/make/unit-tests/cond-undef-lint.mk:1.5 src/usr.bin/make/unit-tests/cond-undef-lint.mk:1.6
--- src/usr.bin/make/unit-tests/cond-undef-lint.mk:1.5	Tue Aug  6 18:00:17 2024
+++ src/usr.bin/make/unit-tests/cond-undef-lint.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: cond-undef-lint.mk,v 1.5 2024/08/06 18:00:17 rillig Exp $
+# $NetBSD: cond-undef-lint.mk,v 1.6 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for defined and undefined variables in .if conditions, in lint mode.
 #
@@ -20,8 +20,8 @@ DEF=		defined
 .endif
 
 # Since the condition fails to evaluate, neither of the branches is taken.
-# expect+2: Malformed conditional '${UNDEF}'
-# expect+1: Variable "UNDEF" is undefined
+# expect+2: Variable "UNDEF" is undefined
+# expect+1: Malformed conditional '${UNDEF}'
 .if ${UNDEF}
 .  error
 .else

Index: src/usr.bin/make/unit-tests/directive-include.mk
diff -u src/usr.bin/make/unit-tests/directive-include.mk:1.16 src/usr.bin/make/unit-tests/directive-include.mk:1.17
--- src/usr.bin/make/unit-tests/directive-include.mk:1.16	Thu Aug 29 20:20:36 2024
+++ src/usr.bin/make/unit-tests/directive-include.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: directive-include.mk,v 1.16 2024/08/29 20:20:36 rillig Exp $
+# $NetBSD: directive-include.mk,v 1.17 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for the .include directive, which includes another file.
 
@@ -51,8 +51,8 @@ DQUOT=	"
 # When the expression in a filename cannot be evaluated, the failing
 # expression is skipped and the file is included nevertheless.
 # FIXME: Add proper error handling, no file must be included here.
-# expect+2: Could not find nonexistent.mk
-# expect+1: Unknown modifier "Z"
+# expect+2: Unknown modifier "Z"
+# expect+1: Could not find nonexistent.mk
 .include "nonexistent${:U123:Z}.mk"
 
 # The traditional include directive is seldom used.

Index: src/usr.bin/make/unit-tests/opt-debug-lint.mk
diff -u src/usr.bin/make/unit-tests/opt-debug-lint.mk:1.20 src/usr.bin/make/unit-tests/opt-debug-lint.mk:1.21
--- src/usr.bin/make/unit-tests/opt-debug-lint.mk:1.20	Thu Aug 29 20:20:36 2024
+++ src/usr.bin/make/unit-tests/opt-debug-lint.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: opt-debug-lint.mk,v 1.20 2024/08/29 20:20:36 rillig Exp $
+# $NetBSD: opt-debug-lint.mk,v 1.21 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for the -dL command line option, which runs additional checks
 # to catch common mistakes, such as unclosed expressions.
@@ -16,8 +16,8 @@
 #
 # See also:
 #	cond-undef-lint.mk
-# expect+2: Malformed conditional '$X'
-# expect+1: Variable "X" is undefined
+# expect+2: Variable "X" is undefined
+# expect+1: Malformed conditional '$X'
 .if $X
 .  error
 .endif
@@ -40,8 +40,8 @@
 # hoping for the caller to print an error message.  This resulted in the
 # well-known "Malformed conditional" error message, even though the
 # conditional was well-formed and the only error was an undefined variable.
-# expect+2: Malformed conditional '${UNDEF}'
-# expect+1: Variable "UNDEF" is undefined
+# expect+2: Variable "UNDEF" is undefined
+# expect+1: Malformed conditional '${UNDEF}'
 .if ${UNDEF}
 .  error
 .endif
Index: src/usr.bin/make/unit-tests/varmod.mk
diff -u src/usr.bin/make/unit-tests/varmod.mk:1.20 src/usr.bin/make/unit-tests/varmod.mk:1.21
--- src/usr.bin/make/unit-tests/varmod.mk:1.20	Thu Aug 29 20:20:37 2024
+++ src/usr.bin/make/unit-tests/varmod.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: varmod.mk,v 1.20 2024/08/29 20:20:37 rillig Exp $
+# $NetBSD: varmod.mk,v 1.21 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for variable modifiers, such as :Q, :S,from,to or :Ufallback.
 #
@@ -132,8 +132,8 @@ VAR=	STOP
 
 # Test the range generation modifier ':range=n' with a very large number that
 # is larger than SIZE_MAX for any supported platform.
-# expect+2: Malformed conditional '${word:L:range=99333000222000111000}'
-# expect+1: Invalid number "99333000222000111000}" for ':range' modifier
+# expect+2: Invalid number "99333000222000111000}" for ':range' modifier
+# expect+1: Malformed conditional '${word:L:range=99333000222000111000}'
 .if ${word:L:range=99333000222000111000}
 .endif
 
@@ -202,15 +202,15 @@ VAR_DOLLAR=	VAR$$
 .if ${:Ufallback$} != "fallback"
 .  error
 .endif
-# expect+2: Malformed conditional '${%y:L:gmtime=1000$}'
-# expect+1: Invalid time value "1000$"
+# expect+2: Invalid time value "1000$"
+# expect+1: Malformed conditional '${%y:L:gmtime=1000$}'
 .if ${%y:L:gmtime=1000$}
 .  error
 .else
 .  error
 .endif
-# expect+2: Malformed conditional '${%y:L:localtime=1000$}'
-# expect+1: Invalid time value "1000$"
+# expect+2: Invalid time value "1000$"
+# expect+1: Malformed conditional '${%y:L:localtime=1000$}'
 .if ${%y:L:localtime=1000$}
 .  error
 .else

Index: src/usr.bin/make/unit-tests/varmod-edge.mk
diff -u src/usr.bin/make/unit-tests/varmod-edge.mk:1.31 src/usr.bin/make/unit-tests/varmod-edge.mk:1.32
--- src/usr.bin/make/unit-tests/varmod-edge.mk:1.31	Thu Aug 29 20:20:36 2024
+++ src/usr.bin/make/unit-tests/varmod-edge.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: varmod-edge.mk,v 1.31 2024/08/29 20:20:36 rillig Exp $
+# $NetBSD: varmod-edge.mk,v 1.32 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for edge cases in variable modifiers.
 #
@@ -198,8 +198,8 @@ EXP=	# empty
 # Even in expressions based on an unnamed variable, there may be errors.
 # XXX: The error message should mention the variable name of the expression,
 # even though that name is empty in this case.
-# expect+2: Malformed conditional '${:Z}'
-# expect+1: Unknown modifier "Z"
+# expect+2: Unknown modifier "Z"
+# expect+1: Malformed conditional '${:Z}'
 .if ${:Z}
 .  error
 .else

Index: src/usr.bin/make/unit-tests/varname.mk
diff -u src/usr.bin/make/unit-tests/varname.mk:1.15 src/usr.bin/make/unit-tests/varname.mk:1.16
--- src/usr.bin/make/unit-tests/varname.mk:1.15	Tue Aug  6 17:46:01 2024
+++ src/usr.bin/make/unit-tests/varname.mk	Sat Jan 11 20:16:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: varname.mk,v 1.15 2024/08/06 17:46:01 rillig Exp $
+# $NetBSD: varname.mk,v 1.16 2025/01/11 20:16:40 rillig Exp $
 #
 # Tests for special variables, such as .MAKE or .PARSEDIR.
 # And for variable names in general.
@@ -27,8 +27,8 @@ ${VARNAME}=	3 open parentheses
 # This is not a variable assignment since the parentheses and braces are not
 # balanced.  At the end of the line, there are still 3 levels open, which
 # means the variable name is not finished.
-# expect+2: Error in archive specification: "VAR"
-# expect+1: Missing ')' in archive specification
+# expect+2: Missing ')' in archive specification
+# expect+1: Error in archive specification: "VAR"
 ${:UVAR(((}=	try1
 # On the left-hand side of a variable assignments, the backslash is not parsed
 # as an escape character, therefore the parentheses still count to the nesting

Reply via email to