utils/check-package: handle missing files
When running check-package before completing commits for a change, if any files are setup for removal, check-package will throw FileNotFoundError exceptions instead of generating a warning state. For example: $ utils/docker-run make check-package Traceback (most recent call last): ... FileNotFoundError: [Errno 2] No such file or directory: 'package/.../0001-some-removed-patch.patch' make: *** [Makefile:1264: check-package] Error 1 This commit will now catch FileNotFoundError and populate a warning message: $ utils/docker-run make check-package package/.../0001-some-removed-patch.patch: missing; unstaged file removal? package/.../0002-another-removed-patch.patch: missing; unstaged file removal? 427843 lines processed 3 warnings generated make: *** [Makefile:1264: check-package] Error 1 Signed-off-by: James Knight <git@jdknight.me> Reviewed-by: Romain Naour <romain.naour@smile.fr> Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
baa81362ef
commit
c41a06bbd9
@@ -257,18 +257,23 @@ def check_file_using_lib(fname):
|
||||
nwarnings += warn
|
||||
|
||||
lastline = ""
|
||||
with open(fname, "r", errors="surrogateescape") as f:
|
||||
for lineno, text in enumerate(f):
|
||||
nlines += 1
|
||||
for name, cf in objects:
|
||||
if cf.disable.search(lastline):
|
||||
continue
|
||||
line_sts = cf.check_line(lineno + 1, text)
|
||||
warn, fail = print_warnings(line_sts, name in xfail)
|
||||
if fail > 0:
|
||||
failed.add(name)
|
||||
nwarnings += warn
|
||||
lastline = text
|
||||
try:
|
||||
with open(fname, "r", errors="surrogateescape") as f:
|
||||
for lineno, text in enumerate(f):
|
||||
nlines += 1
|
||||
for name, cf in objects:
|
||||
if cf.disable.search(lastline):
|
||||
continue
|
||||
line_sts = cf.check_line(lineno + 1, text)
|
||||
warn, fail = print_warnings(line_sts, name in xfail)
|
||||
if fail > 0:
|
||||
failed.add(name)
|
||||
nwarnings += warn
|
||||
lastline = text
|
||||
except FileNotFoundError:
|
||||
print(f"{fname}: missing; unstaged file removal?")
|
||||
nwarnings += 1
|
||||
return nwarnings, nlines
|
||||
|
||||
for name, cf in objects:
|
||||
warn, fail = print_warnings(cf.after(), name in xfail)
|
||||
|
||||
Reference in New Issue
Block a user