From 1e5c644fb62e3e1757cf74fe8a14873d5e8ba53e Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 30 Nov 2020 13:41:26 +0100 Subject: [PATCH] changelog: allow subdir wildcard entry contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow sub-directory wildcard changelog entry. Fix a typo caused by apostrophe escaping. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Likewise. --- contrib/gcc-changelog/git_commit.py | 4 ++-- contrib/gcc-changelog/test_email.py | 9 ++++++++- contrib/gcc-changelog/test_patches.txt | 24 ++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/contrib/gcc-changelog/git_commit.py b/contrib/gcc-changelog/git_commit.py index 6487de3271d..57fba756d32 100755 --- a/contrib/gcc-changelog/git_commit.py +++ b/contrib/gcc-changelog/git_commit.py @@ -493,7 +493,7 @@ class GitCommit: for entry in self.changelog_entries: for pattern in entry.file_patterns: name = os.path.join(entry.folder, pattern) - if name not in wildcard_prefixes: + if not [name.startswith(pr) for pr in wildcard_prefixes]: msg = 'unsupported wildcard prefix' self.errors.append(Error(msg, name)) @@ -617,7 +617,7 @@ class GitCommit: for pattern in mentioned_patterns: if pattern not in used_patterns: - error = 'pattern doesn''t match any changed files' + error = "pattern doesn't match any changed files" self.errors.append(Error(error, pattern)) def check_for_correct_changelog(self): diff --git a/contrib/gcc-changelog/test_email.py b/contrib/gcc-changelog/test_email.py index 579194cdc24..48ecc1ee6a6 100755 --- a/contrib/gcc-changelog/test_email.py +++ b/contrib/gcc-changelog/test_email.py @@ -333,7 +333,7 @@ class TestGccChangelog(unittest.TestCase): assert not email.errors email = self.from_patch_glob('0002-libstdc-Fake-test-change-1.patch') assert len(email.errors) == 1 - msg = 'pattern doesn''t match any changed files' + msg = "pattern doesn't match any changed files" assert email.errors[0].message == msg assert email.errors[0].line == 'libstdc++-v3/doc/html/' email = self.from_patch_glob('0003-libstdc-Fake-test-change-2.patch') @@ -386,3 +386,10 @@ class TestGccChangelog(unittest.TestCase): email = self.from_patch_glob('0001-lto-fix-LTO-debug') assert not email.errors assert len(email.changelog_entries) == 1 + + def test_wildcard_in_subdir(self): + email = self.from_patch_glob('0001-Wildcard-subdirs.patch') + assert len(email.changelog_entries) == 1 + err = email.errors[0] + assert err.message == "pattern doesn't match any changed files" + assert err.line == 'libstdc++-v3/testsuite/28_regex_not-existing/' diff --git a/contrib/gcc-changelog/test_patches.txt b/contrib/gcc-changelog/test_patches.txt index 9e9c5cd893f..02ce28d20b8 100644 --- a/contrib/gcc-changelog/test_patches.txt +++ b/contrib/gcc-changelog/test_patches.txt @@ -3320,3 +3320,27 @@ index 7c9d492f6a4..37e73348cb7 100644 -- 2.25.1 +=== 0001-Wildcard-subdirs.patch === +From b798205595426c53eb362065f6ed6c320dcc161d Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Mon, 30 Nov 2020 13:27:51 +0100 +Subject: [PATCH] Fix it. + +libstdc++-v3/ChangeLog: + + * testsuite/28_regex/*: Fix them all. + * testsuite/28_regex_not-existing/*: Fix them all. +--- + contrib/gcc-changelog/git_commit.py | 1 + + libstdc++-v3/testsuite/28_regex/init-list.cc | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/libstdc++-v3/testsuite/28_regex/init-list.cc b/libstdc++-v3/testsuite/28_regex/init-list.cc +index f51453f019a..d10ecf483f4 100644 +--- a/libstdc++-v3/testsuite/28_regex/init-list.cc ++++ b/libstdc++-v3/testsuite/28_regex/init-list.cc +@@ -1 +1,2 @@ + ++ +-- +2.29.2 -- 2.30.2