From fd06e4f2664b69a2776cdc8188dba6e6e958d86a Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Thu, 12 Oct 2023 09:24:59 -0400 Subject: 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 Signed-off-by: Richard Purdie --- meta/lib/patchtest/tests/test_mbox_bugzilla.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'meta/lib/patchtest/tests/test_mbox_bugzilla.py') diff --git a/meta/lib/patchtest/tests/test_mbox_bugzilla.py b/meta/lib/patchtest/tests/test_mbox_bugzilla.py index aa53b77f87..adf46b5d59 100644 --- a/meta/lib/patchtest/tests/test_mbox_bugzilla.py +++ b/meta/lib/patchtest/tests/test_mbox_bugzilla.py @@ -4,17 +4,17 @@ # # SPDX-License-Identifier: GPL-2.0 -import re +import pyparsing import base class Bugzilla(base.Base): - rexp_detect = re.compile("\[\s?YOCTO.*\]", re.IGNORECASE) - rexp_validation = re.compile("\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]", re.IGNORECASE) + rexp_detect = pyparsing.Regex('\[\s?YOCTO.*\]') + rexp_validation = pyparsing.Regex('\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]') def test_bugzilla_entry_format(self): for commit in Bugzilla.commits: - for line in commit.commit_message.splitlines(): - if self.rexp_detect.match(line): - if not self.rexp_validation.match(line): - self.fail('Bugzilla issue ID is not correctly formatted - specify it with format: "[YOCTO #]"', commit=commit) + if not self.rexp_detect.search_string(commit.commit_message): + self.skip("No bug ID found") + elif not self.rexp_validation.search_string(commit.commit_message): + self.fail('Bugzilla issue ID is not correctly formatted - specify it with format: "[YOCTO #]"', commit=commit) -- cgit v1.2.3-54-g00ecf