Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/usr.bin/xlint lint: ensure that '# line' directives in...
details: https://anonhg.NetBSD.org/src/rev/a955ed1af0ac
branches: trunk
changeset: 959637:a955ed1af0ac
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Feb 20 22:18:32 2021 +0000
description:
lint: ensure that '# line' directives in tests are correct
It's too easy to forget one of them when adding or removing some lines.
This would make it more difficult to locate the lines referenced in the
error messages.
diffstat:
tests/usr.bin/xlint/check-expect.lua | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diffs (43 lines):
diff -r 08bf5ca90783 -r a955ed1af0ac tests/usr.bin/xlint/check-expect.lua
--- a/tests/usr.bin/xlint/check-expect.lua Sat Feb 20 20:30:06 2021 +0000
+++ b/tests/usr.bin/xlint/check-expect.lua Sat Feb 20 22:18:32 2021 +0000
@@ -1,5 +1,5 @@
#! /usr/bin/lua
--- $NetBSD: check-expect.lua,v 1.2 2021/01/16 15:02:11 rillig Exp $
+-- $NetBSD: check-expect.lua,v 1.3 2021/02/20 22:18:32 rillig Exp $
--[[
@@ -25,7 +25,7 @@
return lines
end
-local function load_expect_comments_from_c(fname)
+local function load_expect_comments_from_c(fname, errors)
local lines = load_lines(fname)
if lines == nil then return nil end
@@ -41,6 +41,14 @@
end
end
comments_by_line[lineno] = comments_in_line
+
+ local pp_lineno, pp_fname = line:match("^#%s*(%d+)%s+\"([^\"]+)\"")
+ if pp_lineno ~= nil then
+ if pp_fname == fname and tonumber(pp_lineno) ~= lineno + 1 then
+ errors:add("error: %s:%d: preprocessor line number must be %d",
+ fname, lineno, lineno + 1)
+ end
+ end
end
if seen_comment then return comments_by_line else return nil end
@@ -69,7 +77,7 @@
local function check_test(c_fname, errors)
local exp_fname = c_fname:gsub("%.c$", ".exp")
- local comments = load_expect_comments_from_c(c_fname)
+ local comments = load_expect_comments_from_c(c_fname, errors)
if comments == nil or #comments == 0 then return end
local messages = load_actual_messages_from_exp(exp_fname)
if messages == nil then return end
Home |
Main Index |
Thread Index |
Old Index