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.