diff mbox series

[2/2] patchtest: Use raw strings for regex patterns

Message ID 20250924-minor-fixes-v1-2-affc85657a66@pbarker.dev
State New
Headers show
Series Minor fixes for bitbake-layers & patchtest | expand

Commit Message

Paul Barker Sept. 24, 2025, 7:57 p.m. UTC
This fixes several 'SyntaxWarning: invalid escape sequence' messages
printed when running patchtest.

Cc: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
---
 meta/lib/patchtest/patchtest_patterns.py | 20 ++++++++++----------
 meta/lib/patchtest/tests/test_mbox.py    |  4 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

Comments

Trevor Gamblin Sept. 24, 2025, 8:25 p.m. UTC | #1
On 2025-09-24 15:57, Paul Barker wrote:
> This fixes several 'SyntaxWarning: invalid escape sequence' messages
> printed when running patchtest.
>
> Cc: Trevor Gamblin <tgamblin@baylibre.com>
> Signed-off-by: Paul Barker <paul@pbarker.dev>
Thanks for this! LGTM.
> ---
>   meta/lib/patchtest/patchtest_patterns.py | 20 ++++++++++----------
>   meta/lib/patchtest/tests/test_mbox.py    |  4 ++--
>   2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/meta/lib/patchtest/patchtest_patterns.py b/meta/lib/patchtest/patchtest_patterns.py
> index 655ecfd049191b9b5e1990c31ad1bb7c96811fa6..1a8db92aa5372c481164604c0dee2c2367c9fd87 100644
> --- a/meta/lib/patchtest/patchtest_patterns.py
> +++ b/meta/lib/patchtest/patchtest_patterns.py
> @@ -33,7 +33,7 @@ closed   = 'CLOSED'
>   lictag_re  = pyparsing.AtLineStart("License-Update:")
>   lic_chksum_added = pyparsing.AtLineStart("+" + metadata_chksum)
>   lic_chksum_removed = pyparsing.AtLineStart("-" + metadata_chksum)
> -add_mark = pyparsing.Regex('\\+ ')
> +add_mark = pyparsing.Regex(r'\+ ')
>   patch_max_line_length = 200
>   metadata_src_uri = "SRC_URI"
>   metadata_summary = "SUMMARY"
> @@ -51,20 +51,20 @@ auh_email = 'auh@yoctoproject.org'
>   
>   invalid_submitters = [pyparsing.Regex("^Upgrade Helper.+"),
>               pyparsing.Regex(auh_email),
> -            pyparsing.Regex("uh@not\.set"),
> -            pyparsing.Regex("\S+@example\.com")]
> +            pyparsing.Regex(r"uh@not\.set"),
> +            pyparsing.Regex(r"\S+@example\.com")]
>   
> -mbox_bugzilla = pyparsing.Regex('\[\s?YOCTO.*\]')
> -mbox_bugzilla_validation = pyparsing.Regex('\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]')
> -mbox_revert_shortlog_regex = pyparsing.Regex('Revert\s+".*"')
> +mbox_bugzilla = pyparsing.Regex(r'\[\s?YOCTO.*\]')
> +mbox_bugzilla_validation = pyparsing.Regex(r'\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]')
> +mbox_revert_shortlog_regex = pyparsing.Regex(r'Revert\s+".*"')
>   mbox_shortlog_maxlength = 90
>   # based on https://stackoverflow.com/questions/30281026/regex-parsing-github-usernames-javascript
> -mbox_github_username = pyparsing.Regex('\B(?<!\${)@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))')
> +mbox_github_username = pyparsing.Regex(r'\B(?<!\${)@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))')
>   
>   # patch
>   
> -cve = pyparsing.Regex("CVE\-\d{4}\-\d+")
> -cve_payload_tag = pyparsing.Regex("\+CVE:(\s+CVE\-\d{4}\-\d+)+")
> +cve = pyparsing.Regex(r"CVE\-\d{4}\-\d+")
> +cve_payload_tag = pyparsing.Regex(r"\+CVE:(\s+CVE\-\d{4}\-\d+)+")
>   upstream_status_regex = pyparsing.AtLineStart("+" + "Upstream-Status")
>   
>   # shortlog
> @@ -78,7 +78,7 @@ shortlog = line_start + shortlog_target + colon + shortlog_summary + line_end
>   email_pattern = pyparsing.Regex(r"(?P<user>[A-Za-z0-9._%+-]+)@(?P<hostname>[A-Za-z0-9.-]+)\.(?P<domain>[A-Za-z]{2,})")
>   
>   signed_off_by_prefix = pyparsing.Literal("Signed-off-by:")
> -signed_off_by_name = pyparsing.Regex('\S+.*(?= <)')
> +signed_off_by_name = pyparsing.Regex(r'\S+.*(?= <)')
>   signed_off_by_email = lessthan + email_pattern + greaterthan
>   signed_off_by = pyparsing.AtLineStart(signed_off_by_prefix + signed_off_by_name + signed_off_by_email)
>   patch_signed_off_by = pyparsing.AtLineStart("+" + signed_off_by_prefix + signed_off_by_name + signed_off_by_email)
> diff --git a/meta/lib/patchtest/tests/test_mbox.py b/meta/lib/patchtest/tests/test_mbox.py
> index 714c9b30af5c7ad705079a67903e038354de0195..5cf02af7bd5e761ed3f08254897861ec401841b8 100644
> --- a/meta/lib/patchtest/tests/test_mbox.py
> +++ b/meta/lib/patchtest/tests/test_mbox.py
> @@ -71,7 +71,7 @@ class TestMbox(base.Base):
>       def test_shortlog_length(self):
>           for commit in self.commits:
>               # no reason to re-check on revert shortlogs
> -            shortlog = re.sub('^(\[.*?\])+ ', '', commit.shortlog)
> +            shortlog = re.sub(r'^(\[.*?\])+ ', '', commit.shortlog)
>               if shortlog.startswith('Revert "'):
>                   continue
>               l = len(shortlog)
> @@ -109,7 +109,7 @@ class TestMbox(base.Base):
>   
>           # a meta project may be indicted in the message subject, if this is the case, just fail
>           # TODO: there may be other project with no-meta prefix, we also need to detect these
> -        project_regex = pyparsing.Regex("\[(?P<project>meta-.+)\]")
> +        project_regex = pyparsing.Regex(r"\[(?P<project>meta-.+)\]")
>           for commit in self.commits:
>               match = project_regex.search_string(commit.subject)
>               if match:
>
diff mbox series

Patch

diff --git a/meta/lib/patchtest/patchtest_patterns.py b/meta/lib/patchtest/patchtest_patterns.py
index 655ecfd049191b9b5e1990c31ad1bb7c96811fa6..1a8db92aa5372c481164604c0dee2c2367c9fd87 100644
--- a/meta/lib/patchtest/patchtest_patterns.py
+++ b/meta/lib/patchtest/patchtest_patterns.py
@@ -33,7 +33,7 @@  closed   = 'CLOSED'
 lictag_re  = pyparsing.AtLineStart("License-Update:")
 lic_chksum_added = pyparsing.AtLineStart("+" + metadata_chksum)
 lic_chksum_removed = pyparsing.AtLineStart("-" + metadata_chksum)
-add_mark = pyparsing.Regex('\\+ ')
+add_mark = pyparsing.Regex(r'\+ ')
 patch_max_line_length = 200
 metadata_src_uri = "SRC_URI"
 metadata_summary = "SUMMARY"
@@ -51,20 +51,20 @@  auh_email = 'auh@yoctoproject.org'
 
 invalid_submitters = [pyparsing.Regex("^Upgrade Helper.+"),
             pyparsing.Regex(auh_email),
-            pyparsing.Regex("uh@not\.set"),
-            pyparsing.Regex("\S+@example\.com")]
+            pyparsing.Regex(r"uh@not\.set"),
+            pyparsing.Regex(r"\S+@example\.com")]
 
-mbox_bugzilla = pyparsing.Regex('\[\s?YOCTO.*\]')
-mbox_bugzilla_validation = pyparsing.Regex('\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]')
-mbox_revert_shortlog_regex = pyparsing.Regex('Revert\s+".*"')
+mbox_bugzilla = pyparsing.Regex(r'\[\s?YOCTO.*\]')
+mbox_bugzilla_validation = pyparsing.Regex(r'\[(\s?YOCTO\s?#\s?(\d+)\s?,?)+\]')
+mbox_revert_shortlog_regex = pyparsing.Regex(r'Revert\s+".*"')
 mbox_shortlog_maxlength = 90
 # based on https://stackoverflow.com/questions/30281026/regex-parsing-github-usernames-javascript
-mbox_github_username = pyparsing.Regex('\B(?<!\${)@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))')
+mbox_github_username = pyparsing.Regex(r'\B(?<!\${)@([a-z0-9](?:-(?=[a-z0-9])|[a-z0-9]){0,38}(?<=[a-z0-9]))')
 
 # patch
 
-cve = pyparsing.Regex("CVE\-\d{4}\-\d+")
-cve_payload_tag = pyparsing.Regex("\+CVE:(\s+CVE\-\d{4}\-\d+)+")
+cve = pyparsing.Regex(r"CVE\-\d{4}\-\d+")
+cve_payload_tag = pyparsing.Regex(r"\+CVE:(\s+CVE\-\d{4}\-\d+)+")
 upstream_status_regex = pyparsing.AtLineStart("+" + "Upstream-Status")
 
 # shortlog
@@ -78,7 +78,7 @@  shortlog = line_start + shortlog_target + colon + shortlog_summary + line_end
 email_pattern = pyparsing.Regex(r"(?P<user>[A-Za-z0-9._%+-]+)@(?P<hostname>[A-Za-z0-9.-]+)\.(?P<domain>[A-Za-z]{2,})")
 
 signed_off_by_prefix = pyparsing.Literal("Signed-off-by:")
-signed_off_by_name = pyparsing.Regex('\S+.*(?= <)')
+signed_off_by_name = pyparsing.Regex(r'\S+.*(?= <)')
 signed_off_by_email = lessthan + email_pattern + greaterthan
 signed_off_by = pyparsing.AtLineStart(signed_off_by_prefix + signed_off_by_name + signed_off_by_email)
 patch_signed_off_by = pyparsing.AtLineStart("+" + signed_off_by_prefix + signed_off_by_name + signed_off_by_email)
diff --git a/meta/lib/patchtest/tests/test_mbox.py b/meta/lib/patchtest/tests/test_mbox.py
index 714c9b30af5c7ad705079a67903e038354de0195..5cf02af7bd5e761ed3f08254897861ec401841b8 100644
--- a/meta/lib/patchtest/tests/test_mbox.py
+++ b/meta/lib/patchtest/tests/test_mbox.py
@@ -71,7 +71,7 @@  class TestMbox(base.Base):
     def test_shortlog_length(self):
         for commit in self.commits:
             # no reason to re-check on revert shortlogs
-            shortlog = re.sub('^(\[.*?\])+ ', '', commit.shortlog)
+            shortlog = re.sub(r'^(\[.*?\])+ ', '', commit.shortlog)
             if shortlog.startswith('Revert "'):
                 continue
             l = len(shortlog)
@@ -109,7 +109,7 @@  class TestMbox(base.Base):
 
         # a meta project may be indicted in the message subject, if this is the case, just fail
         # TODO: there may be other project with no-meta prefix, we also need to detect these
-        project_regex = pyparsing.Regex("\[(?P<project>meta-.+)\]")
+        project_regex = pyparsing.Regex(r"\[(?P<project>meta-.+)\]")
         for commit in self.commits:
             match = project_regex.search_string(commit.subject)
             if match: