patchtest: clean up test suite

Various tweaks to make the test suite cleaner and more efficient:

- Replace use of "re" module with "pyparsing" in tests (but not base.py)
- Make test_mbox_cve only check for CVE tags in the commit if the added
  patch has them
- Make test_mbox_cve SKIP instead of PASS if there's no CVE tag
- Simplify the bugzilla tag checking test now that pyparsing is used
- Modify the selftest script to correctly parse the new result output

(From OE-Core rev: 7a187c2475aa762e2bc830950f608143f2535a72)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Trevor Gamblin
2023-10-12 09:24:59 -04:00
committed by Richard Purdie
parent 2fdabc368a
commit fd06e4f266
12 changed files with 45 additions and 44 deletions

View File

@@ -5,22 +5,22 @@
# SPDX-License-Identifier: GPL-2.0
import base
import re
import pyparsing
class Author(base.Base):
auh_email = '<auh@auh.yoctoproject.org>'
auh_email = 'auh@auh.yoctoproject.org'
invalids = [re.compile("^Upgrade Helper.+"),
re.compile(re.escape(auh_email)),
re.compile("uh@not\.set"),
re.compile("\S+@example\.com")]
invalids = [pyparsing.Regex("^Upgrade Helper.+"),
pyparsing.Regex(auh_email),
pyparsing.Regex("uh@not\.set"),
pyparsing.Regex("\S+@example\.com")]
def test_author_valid(self):
for commit in self.commits:
for invalid in self.invalids:
if invalid.search(commit.author):
if invalid.search_string(commit.author):
self.fail('Invalid author %s. Resend the series with a valid patch author' % commit.author, commit=commit)
def test_non_auh_upgrade(self):