Module Name:    src
Committed By:   rillig
Date:           Fri Jun 17 16:10:10 UTC 2022

Modified Files:
        src/tests/usr.bin/xlint: check-expect.lua

Log Message:
tests/lint: rename local variables in check-expect.lua

Enough time has passed since I wrote that little program to make me
forget the naming scheme I had in mind back then.  Prefix the variable
names with the source of their data, 'c_' or 'exp_', to provide a bit of
orientation.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/tests/usr.bin/xlint/check-expect.lua

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/check-expect.lua
diff -u src/tests/usr.bin/xlint/check-expect.lua:1.19 src/tests/usr.bin/xlint/check-expect.lua:1.20
--- src/tests/usr.bin/xlint/check-expect.lua:1.19	Fri Jun 17 07:06:50 2022
+++ src/tests/usr.bin/xlint/check-expect.lua	Fri Jun 17 16:10:10 2022
@@ -1,5 +1,5 @@
 #!  /usr/bin/lua
--- $NetBSD: check-expect.lua,v 1.19 2022/06/17 07:06:50 rillig Exp $
+-- $NetBSD: check-expect.lua,v 1.20 2022/06/17 16:10:10 rillig Exp $
 
 --[[
 
@@ -8,6 +8,7 @@ usage: lua ./check-expect.lua *.c
 Check that the /* expect+-n: ... */ comments in the .c source files match the
 actual messages found in the corresponding .exp files.
 
+To regenerate the .exp files, see lint1/accept.sh.
 ]]
 
 
@@ -33,8 +34,15 @@ local function load_lines(fname)
   return lines
 end
 
-
-local function load_expect_comments_from_c(fname)
+-- Load the 'expect:' comments from a C source file.
+--
+-- example return values:
+--   {
+--     ["file.c(18)"] = {"invalid argument 'a'", "invalid argument 'b'"},
+--     ["file.c(23)"] = {"not a constant expression [123]"},
+--   },
+--   { "file.c(18)", "file.c(23)" }
+local function load_c(fname)
 
   local lines = load_lines(fname)
   if lines == nil then return nil, nil end
@@ -77,7 +85,16 @@ local function load_expect_comments_from
 end
 
 
-local function load_actual_messages_from_exp(exp_fname)
+-- Load the expected raw lint output from a .exp file.
+--
+-- example return value: {
+--   {
+--     exp_lineno = "18",
+--     location = "file.c(18)",
+--     message = "not a constant expression [123]",
+--   }
+-- }
+local function load_exp(exp_fname)
 
   local lines = load_lines(exp_fname)
   if lines == nil then return {} end
@@ -100,21 +117,21 @@ end
 local function check_test(c_fname)
   local exp_fname = c_fname:gsub("%.c$", ".exp")
 
-  local comment_locations, comments_by_location =
-    load_expect_comments_from_c(c_fname)
-  if comment_locations == nil then return end
-
-  local messages = load_actual_messages_from_exp(exp_fname)
-  if messages == nil then return end
-
-  for _, act in ipairs(messages) do
-    local exp = comments_by_location[act.location] or {}
-    local exp_comment = act.message:gsub("/%*", "**"):gsub("%*/", "**")
+  local c_comment_locations, c_comments_by_location = load_c(c_fname)
+  if c_comment_locations == nil then return end
+
+  local exp_messages = load_exp(exp_fname)
+  if exp_messages == nil then return end
+
+  for _, exp_message in ipairs(exp_messages) do
+    local c_comments = c_comments_by_location[exp_message.location] or {}
+    local expected_comment =
+      exp_message.message:gsub("/%*", "**"):gsub("%*/", "**")
 
     local found = false
-    for i, message in ipairs(exp) do
-      if message ~= "" and exp_comment:find(message, 1, true) then
-        exp[i] = ""
+    for i, c_comment in ipairs(c_comments) do
+      if c_comment ~= "" and expected_comment:find(c_comment, 1, true) then
+        c_comments[i] = ""
         found = true
         break
       end
@@ -122,16 +139,16 @@ local function check_test(c_fname)
 
     if not found then
       print_error("error: %s: missing /* expect+1: %s */",
-        act.location, exp_comment)
+        exp_message.location, expected_comment)
     end
   end
 
-  for _, location in ipairs(comment_locations) do
-    for _, message in ipairs(comments_by_location[location]) do
-      if message ~= "" then
+  for _, c_comment_location in ipairs(c_comment_locations) do
+    for _, c_comment in ipairs(c_comments_by_location[c_comment_location]) do
+      if c_comment ~= "" then
         print_error(
           "error: %s: declared message \"%s\" is not in the actual output",
-          location, message)
+          c_comment_location, c_comment)
       end
     end
   end

Reply via email to