gcc-changelog: update error message location

contrib/ChangeLog:

	* gcc-changelog/git_commit.py: Update location of
	'bad parentheses wrapping'.
	* gcc-changelog/test_email.py: Test it.
This commit is contained in:
Martin Liska 2021-10-18 10:44:11 +02:00
parent 47e4ab6559
commit 85ce673378
2 changed files with 8 additions and 7 deletions

View File

@ -217,7 +217,7 @@ class ChangeLogEntry:
self.lines = []
self.files = []
self.file_patterns = []
self.opened_parentheses = 0
self.parentheses_stack = []
def parse_file_names(self):
# Whether the content currently processed is between a star prefix the
@ -551,7 +551,7 @@ class GitCommit:
m = star_prefix_regex.match(line)
if m:
if (len(m.group('spaces')) != 1 and
last_entry.opened_parentheses == 0):
not last_entry.parentheses_stack):
msg = 'one space should follow asterisk'
self.errors.append(Error(msg, line))
else:
@ -576,13 +576,13 @@ class GitCommit:
def process_parentheses(self, last_entry, line):
for c in line:
if c == '(':
last_entry.opened_parentheses += 1
last_entry.parentheses_stack.append(line)
elif c == ')':
if last_entry.opened_parentheses == 0:
if not last_entry.parentheses_stack:
msg = 'bad wrapping of parenthesis'
self.errors.append(Error(msg, line))
else:
last_entry.opened_parentheses -= 1
del last_entry.parentheses_stack[-1]
def parse_file_names(self):
for entry in self.changelog_entries:
@ -608,9 +608,9 @@ class GitCommit:
def check_for_broken_parentheses(self):
for entry in self.changelog_entries:
if entry.opened_parentheses != 0:
if entry.parentheses_stack:
msg = 'bad parentheses wrapping'
self.errors.append(Error(msg, entry.lines[0]))
self.errors.append(Error(msg, entry.parentheses_stack[-1]))
def get_file_changelog_location(self, changelog_file):
for file in self.info.modified_files:

View File

@ -415,6 +415,7 @@ class TestGccChangelog(unittest.TestCase):
def test_multiline_bad_parentheses(self):
email = self.from_patch_glob('0002-Wrong-macro-changelog.patch')
assert email.errors[0].message == 'bad parentheses wrapping'
assert email.errors[0].line == ' * config/i386/i386.md (*fix_trunc<mode>_i387_1,'
def test_changelog_removal(self):
email = self.from_patch_glob('0001-ChangeLog-removal.patch')