summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-10-29 21:46:23 -0600
committerSimon Glass <sjg@chromium.org>2020-11-05 09:11:31 -0700
commitb5cc39905343312d1b7064ede72561394049be21 (patch)
tree25a47259682c75889d64da56bf0b55ed1d58b2e7 /tools
parent1cb1c0fc8d6b797901f68afe5e9dd18c20401c5e (diff)
patman: Move warning collection to a function
Add a new function in PatchStream to collect the warnings generated while parsing the stream. This will allow us to adjust the logic, such as dealing with per-commit warnings. Two of the warnings are in fact internal errors, so change them to raise and exception. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/patman/patchstream.py36
1 files changed, 23 insertions, 13 deletions
diff --git a/tools/patman/patchstream.py b/tools/patman/patchstream.py
index b2cb2debee..9f283470bc 100644
--- a/tools/patman/patchstream.py
+++ b/tools/patman/patchstream.py
@@ -83,6 +83,14 @@ class PatchStream:
self.signoff = [] # Contents of signoff line
self.commit = None # Current commit
+ def _add_warn(self, warn):
+ """Add a new warning to report to the user
+
+ Args:
+ warn (str): Warning to report
+ """
+ self.warn.append(warn)
+
def _add_to_series(self, line, name, value):
"""Add a new Series-xxx tag.
@@ -237,7 +245,7 @@ class PatchStream:
# but we are already in a section, this means 'END' is missing
# for that section, fix it up.
if self.in_section:
- self.warn.append("Missing 'END' in section '%s'" % self.in_section)
+ self._add_warn("Missing 'END' in section '%s'" % self.in_section)
if self.in_section == 'cover':
self.series.cover = self.section
elif self.in_section == 'notes':
@@ -247,14 +255,16 @@ class PatchStream:
if self.is_log:
self.commit.notes += self.section
else:
- self.warn.append("Unknown section '%s'" % self.in_section)
+ # This should not happen
+ raise ValueError("Unknown section '%s'" % self.in_section)
self.in_section = None
self.skip_blank = True
self.section = []
# but we are already in a change list, that means a blank line
# is missing, fix it up.
if self.in_change:
- self.warn.append("Missing 'blank line' in section '%s-changes'" % self.in_change)
+ self._add_warn("Missing 'blank line' in section '%s-changes'" %
+ self.in_change)
self._finalise_change()
self.in_change = None
self.change_version = 0
@@ -271,7 +281,8 @@ class PatchStream:
if self.is_log:
self.commit.notes += self.section
else:
- self.warn.append("Unknown section '%s'" % self.in_section)
+ # This should not happen
+ raise ValueError("Unknown section '%s'" % self.in_section)
self.in_section = None
self.skip_blank = True
self.section = []
@@ -362,8 +373,8 @@ class PatchStream:
self.in_change = 'Commit'
self.change_version = self._parse_version(value, line)
else:
- self.warn.append('Line %d: Ignoring Commit-%s' %
- (self.linenum, name))
+ self._add_warn('Line %d: Ignoring Commit-%s' %
+ (self.linenum, name))
# Detect the start of a new commit
elif commit_match:
@@ -377,7 +388,7 @@ class PatchStream:
# Remove Tested-by self, since few will take much notice
if (rtag_type == 'Tested-by' and
who.find(os.getenv('USER') + '@') != -1):
- self.warn.append("Ignoring %s" % line)
+ self._add_warn("Ignoring %s" % line)
elif rtag_type == 'Patch-cc':
self.commit.AddCc(who.split(','))
else:
@@ -394,8 +405,8 @@ class PatchStream:
# Look for space before tab
mat = RE_SPACE_BEFORE_TAB.match(line)
if mat:
- self.warn.append('Line %d/%d has space before tab' %
- (self.linenum, mat.start()))
+ self._add_warn('Line %d/%d has space before tab' %
+ (self.linenum, mat.start()))
# OK, we have a valid non-blank line
out = [line]
@@ -427,8 +438,7 @@ class PatchStream:
self._finalise_change()
self._close_commit()
if self.lines_after_test:
- self.warn.append('Found %d lines after TEST=' %
- self.lines_after_test)
+ self._add_warn('Found %d lines after TEST=' % self.lines_after_test)
def _write_message_id(self, outfd):
"""Write the Message-Id into the output.
@@ -503,8 +513,8 @@ class PatchStream:
self.blank_count += 1
else:
if self.blank_count and (line == '-- ' or match):
- self.warn.append("Found possible blank line(s) at "
- "end of file '%s'" % last_fname)
+ self._add_warn("Found possible blank line(s) at end of file '%s'" %
+ last_fname)
outfd.write('+\n' * self.blank_count)
outfd.write(line + '\n')
self.blank_count = 0