gcc-changelog: check git commit email address

contrib/ChangeLog:

	* gcc-changelog/git_commit.py: Check commit email.
	* gcc-changelog/test_email.py: Add new test.
	* gcc-changelog/test_patches.txt: Likewise.
This commit is contained in:
Martin Liska 2021-09-15 16:32:50 +02:00
parent 26d4ba05b9
commit e0fcdc46a2
3 changed files with 40 additions and 0 deletions

View File

@ -326,6 +326,8 @@ class GitCommit:
if not self.info:
return
self.check_commit_email()
# Extract PR numbers form the subject line
# Match either [PRnnnn] / (PRnnnn) or PR component/nnnn
if self.info.lines and not self.revert_commit:
@ -803,3 +805,11 @@ class GitCommit:
print('Errors:')
for error in self.errors:
print(error)
def check_commit_email(self):
# Parse 'Martin Liska <mliska@suse.cz>'
email = self.info.author.split(' ')[-1].strip('<>')
# Verify that all characters are ASCII
if len(email) != len(email.encode()):
self.errors.append(Error(f'non-ASCII characters in git commit email address ({email})'))

View File

@ -440,3 +440,8 @@ class TestGccChangelog(unittest.TestCase):
def test_copyright_years(self):
email = self.from_patch_glob('copyright-years.patch')
assert not email.errors
def test_non_ascii_email(self):
email = self.from_patch_glob('non-ascii-email.patch')
assert (email.errors[0].message ==
'non-ASCII characters in git commit email address (jbglaw@ług-owl.de)')

View File

@ -3464,3 +3464,28 @@ index 6f67552d075..32478f070e8 100644
+
--
2.25.1
=== non-ascii-email.patch ===
From f42e95a830ab48e59389065ce79a013a519646f1 Mon Sep 17 00:00:00 2001
From: Jan-Benedict Glaw <jbglaw@ług-owl.de>
Date: Mon, 13 Sep 2021 12:08:25 +0200
Subject: [PATCH] Fix multi-statment macro
INIT_CUMULATIVE_ARGS() expands to multiple statements, which will break right
after an `if` statement. Wrap it into a block.
gcc/ChangeLog:
* config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment
define into a block.
---
gcc/config/alpha/vms.h | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 2a9917cde62..0033b0004b3 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -0,0 +1,1 @@
+
--