diff options
-rwxr-xr-x | contrib/gcc-changelog/git_commit.py | 10 | ||||
-rwxr-xr-x | contrib/gcc-changelog/test_email.py | 5 | ||||
-rw-r--r-- | contrib/gcc-changelog/test_patches.txt | 25 |
3 files changed, 40 insertions, 0 deletions
diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py index d1646bd..0373614 100755 --- a/contrib/gcc-changelog/git_commit.py +++ b/contrib/gcc-changelog/git_commit.py @@ -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})')) diff --git a/contrib/gcc-changelog/test_email.py b/contrib/gcc-changelog/test_email.py index 319e065..dae7c27 100755 --- a/contrib/gcc-changelog/test_email.py +++ b/contrib/gcc-changelog/test_email.py @@ -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)') diff --git a/contrib/gcc-changelog/test_patches.txt b/contrib/gcc-changelog/test_patches.txt index ba51627..98a0d3f 100644 --- a/contrib/gcc-changelog/test_patches.txt +++ b/contrib/gcc-changelog/test_patches.txt @@ -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 @@ ++ +-- |