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>
(cherry picked from commit c41a06bbd9)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
committed by
Thomas Perale
parent
1bcb3d53b3
commit
074e005e42
@@ -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