public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-3549] gcc-changelog: check git commit email address
@ 2021-09-15 14:34 Martin Liska
  0 siblings, 0 replies; only message in thread
From: Martin Liska @ 2021-09-15 14:34 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:e0fcdc46a2f1fefa0372f0ee81db780155ee365d

commit r12-3549-ge0fcdc46a2f1fefa0372f0ee81db780155ee365d
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Sep 15 16:32:50 2021 +0200

    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.

Diff:
---
 contrib/gcc-changelog/git_commit.py    | 10 ++++++++++
 contrib/gcc-changelog/test_email.py    |  5 +++++
 contrib/gcc-changelog/test_patches.txt | 25 +++++++++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py
index d1646bdc0cd..03736140fd0 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 319e065ca55..dae7c27c707 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 ba516274fc1..98a0d3f1ee0 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 @@
++
+--


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-15 14:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 14:34 [gcc r12-3549] gcc-changelog: check git commit email address Martin Liska

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).