Module Name:    src
Committed By:   rillig
Date:           Sun Jan 28 08:54:28 UTC 2024

Modified Files:
        src/tests/usr.bin/xlint/lint1: check-expect.lua msg_019.c queries.c
            queries_schar.c queries_uchar.c

Log Message:
tests/lint: enforce diagnostics to be listed in chronologic order

While here, fix the tests on uchar platforms.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/tests/usr.bin/xlint/lint1/check-expect.lua
cvs rdiff -u -r1.8 -r1.9 src/tests/usr.bin/xlint/lint1/msg_019.c
cvs rdiff -u -r1.22 -r1.23 src/tests/usr.bin/xlint/lint1/queries.c
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/queries_schar.c \
    src/tests/usr.bin/xlint/lint1/queries_uchar.c

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

Modified files:

Index: src/tests/usr.bin/xlint/lint1/check-expect.lua
diff -u src/tests/usr.bin/xlint/lint1/check-expect.lua:1.11 src/tests/usr.bin/xlint/lint1/check-expect.lua:1.12
--- src/tests/usr.bin/xlint/lint1/check-expect.lua:1.11	Sun Jan 28 08:26:07 2024
+++ src/tests/usr.bin/xlint/lint1/check-expect.lua	Sun Jan 28 08:54:27 2024
@@ -1,5 +1,5 @@
 #!  /usr/bin/lua
--- $NetBSD: check-expect.lua,v 1.11 2024/01/28 08:26:07 rillig Exp $
+-- $NetBSD: check-expect.lua,v 1.12 2024/01/28 08:54:27 rillig Exp $
 
 --[[
 
@@ -236,9 +236,11 @@ local function check_test(c_fname, updat
 
     local found = false
     for i, c_comment in ipairs(c_comments) do
-      if c_comment ~= "" and matches(expected_message, c_comment) then
-        c_comments[i] = ""
-        found = true
+      if c_comment ~= "" then
+        if matches(expected_message, c_comment) then
+          c_comments[i] = ""
+          found = true
+        end
         break
       end
     end

Index: src/tests/usr.bin/xlint/lint1/msg_019.c
diff -u src/tests/usr.bin/xlint/lint1/msg_019.c:1.8 src/tests/usr.bin/xlint/lint1/msg_019.c:1.9
--- src/tests/usr.bin/xlint/lint1/msg_019.c:1.8	Sun Jul  9 11:18:55 2023
+++ src/tests/usr.bin/xlint/lint1/msg_019.c	Sun Jan 28 08:54:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg_019.c,v 1.8 2023/07/09 11:18:55 rillig Exp $	*/
+/*	$NetBSD: msg_019.c,v 1.9 2024/01/28 08:54:27 rillig Exp $	*/
 # 3 "msg_019.c"
 
 // Test for message: void type for '%s' [19]
@@ -12,8 +12,8 @@ void global_variable;
 /* expect+1: warning: static variable 'unit_variable' unused [226] */
 static void unit_variable;
 
-/* expect+3: warning: parameter 'parameter' unused in function 'function' [231] */
-/* expect+2: error: void parameter 'parameter' cannot have name [61] */
+/* expect+3: error: void parameter 'parameter' cannot have name [61] */
+/* expect+2: warning: parameter 'parameter' unused in function 'function' [231] */
 void
 function(void parameter)
 {

Index: src/tests/usr.bin/xlint/lint1/queries.c
diff -u src/tests/usr.bin/xlint/lint1/queries.c:1.22 src/tests/usr.bin/xlint/lint1/queries.c:1.23
--- src/tests/usr.bin/xlint/lint1/queries.c:1.22	Sat Jan 20 10:02:31 2024
+++ src/tests/usr.bin/xlint/lint1/queries.c	Sun Jan 28 08:54:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: queries.c,v 1.22 2024/01/20 10:02:31 rillig Exp $	*/
+/*	$NetBSD: queries.c,v 1.23 2024/01/28 08:54:27 rillig Exp $	*/
 # 3 "queries.c"
 
 /*
@@ -464,23 +464,7 @@ char Q17_char[] = { ' ', '\0', '	' };
 /* expect+1: invisible character U+0009 in string literal [Q17] */
 char Q17_string[] = " \0	";
 
-/*
- * Variables with automatic storage duration often have so small scope that
- * adding the 'const' qualifier hurts readability more than it helps.
- */
-int
-/* expect+1: const automatic variable 'const_arg' [Q18] */
-Q18(const int const_arg, int arg)
-{
-	/* expect+1: const automatic variable 'Q18_scalar' [Q18] */
-	const char Q18_scalar = '1';
-	const char Q18_array[] = { '1', '2', '3' };
-	const char Q18_string[] = "123";
-	const char *Q18_string_pointer = "123";
-
-	return const_arg + arg
-	    + Q18_scalar + Q18_array[0] + Q18_string[0] + Q18_string_pointer[0];
-}
+/* For Q18, see queries_schar.c and queries_uchar.c. */
 
 /*
  * Since queries do not affect the exit status, force a warning to make this

Index: src/tests/usr.bin/xlint/lint1/queries_schar.c
diff -u src/tests/usr.bin/xlint/lint1/queries_schar.c:1.1 src/tests/usr.bin/xlint/lint1/queries_schar.c:1.2
--- src/tests/usr.bin/xlint/lint1/queries_schar.c:1.1	Mon Jul  3 15:29:42 2023
+++ src/tests/usr.bin/xlint/lint1/queries_schar.c	Sun Jan 28 08:54:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: queries_schar.c,v 1.1 2023/07/03 15:29:42 rillig Exp $	*/
+/*	$NetBSD: queries_schar.c,v 1.2 2024/01/28 08:54:27 rillig Exp $	*/
 # 3 "queries_schar.c"
 
 /*
@@ -11,7 +11,7 @@
  */
 
 /* lint1-only-if: schar */
-/* lint1-extra-flags: -q 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 -X 351 */
+/* lint1-extra-flags: -q 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 -X 351 */
 
 int
 Q14(char c)
@@ -24,6 +24,24 @@ Q14(char c)
 }
 
 /*
+ * Variables with automatic storage duration often have so small scope that
+ * adding the 'const' qualifier hurts readability more than it helps.
+ */
+int
+/* expect+1: const automatic variable 'const_arg' [Q18] */
+Q18(const int const_arg, int arg)
+{
+	/* expect+1: const automatic variable 'Q18_scalar' [Q18] */
+	const char Q18_scalar = '1';
+	const char Q18_array[] = { '1', '2', '3' };
+	const char Q18_string[] = "123";
+	const char *Q18_string_pointer = "123";
+
+	return const_arg + arg
+	    + Q18_scalar + Q18_array[0] + Q18_string[0] + Q18_string_pointer[0];
+}
+
+/*
  * Since queries do not affect the exit status, force a warning to make this
  * test conform to the general expectation that a test that produces output
  * exits non-successfully.
Index: src/tests/usr.bin/xlint/lint1/queries_uchar.c
diff -u src/tests/usr.bin/xlint/lint1/queries_uchar.c:1.1 src/tests/usr.bin/xlint/lint1/queries_uchar.c:1.2
--- src/tests/usr.bin/xlint/lint1/queries_uchar.c:1.1	Mon Jul  3 15:29:42 2023
+++ src/tests/usr.bin/xlint/lint1/queries_uchar.c	Sun Jan 28 08:54:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: queries_uchar.c,v 1.1 2023/07/03 15:29:42 rillig Exp $	*/
+/*	$NetBSD: queries_uchar.c,v 1.2 2024/01/28 08:54:27 rillig Exp $	*/
 # 3 "queries_uchar.c"
 
 /*
@@ -11,23 +11,45 @@
  */
 
 /* lint1-only-if: uchar */
-/* lint1-extra-flags: -q 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 -X 351 */
+/* lint1-extra-flags: -q 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 -X 351 */
 
 int
 Q14(char c)
 {
 	/* expect+6: implicit conversion changes sign from 'char' to 'int' [Q3] */
 	/* expect+5: implicit conversion changes sign from 'char' to 'int' [Q3] */
-	/* expect+4: implicit conversion changes sign from 'char' to 'int' [Q3] */
-	/* expect+3: comparison '==' of 'char' with plain integer 92 [Q14] */
-	/* expect+2: implicit conversion changes sign from 'char' to 'int' [Q3] */
-	/* expect+1: comparison '==' of 'char' with plain integer 0 [Q14] */
+	/* expect+4: comparison '==' of 'char' with plain integer 92 [Q14] */
+	/* expect+3: implicit conversion changes sign from 'char' to 'int' [Q3] */
+	/* expect+2: comparison '==' of 'char' with plain integer 0 [Q14] */
+	/* expect+1: implicit conversion changes sign from 'char' to 'int' [Q3] */
 	if (c == 'c' || c == L'w' || c == 92 || c == 0)
 		return 1;
 	return 5;
 }
 
 /*
+ * Variables with automatic storage duration often have so small scope that
+ * adding the 'const' qualifier hurts readability more than it helps.
+ */
+int
+/* expect+1: const automatic variable 'const_arg' [Q18] */
+Q18(const int const_arg, int arg)
+{
+	/* expect+1: const automatic variable 'Q18_scalar' [Q18] */
+	const char Q18_scalar = '1';
+	const char Q18_array[] = { '1', '2', '3' };
+	const char Q18_string[] = "123";
+	const char *Q18_string_pointer = "123";
+
+	/* expect+5: implicit conversion changes sign from 'char' to 'int' [Q3] */
+	/* expect+4: implicit conversion changes sign from 'char' to 'int' [Q3] */
+	/* expect+3: implicit conversion changes sign from 'char' to 'int' [Q3] */
+	/* expect+2: implicit conversion changes sign from 'char' to 'int' [Q3] */
+	return const_arg + arg
+	    + Q18_scalar + Q18_array[0] + Q18_string[0] + Q18_string_pointer[0];
+}
+
+/*
  * Since queries do not affect the exit status, force a warning to make this
  * test conform to the general expectation that a test that produces output
  * exits non-successfully.

Reply via email to