Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix escaping of regexes in sgx-asm-pp #1056

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

berrange
Copy link

@berrange berrange commented Oct 1, 2024

Running sgx-asm-pp.py on Python >= 3.12 generates many warnings:

  sgx-asm-pp.py:64: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:85: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:65: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:86: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:66: SyntaxWarning: invalid escape sequence '\s'

This is a new python change:

https://docs.python.org/3/whatsnew/3.12.html#other-language-changes

  "A backslash-character pair that is not a valid escape
   sequence now generates a SyntaxWarning, instead of
   DeprecationWarning. For example, re.compile("\d+\.\d+")
   now emits a SyntaxWarning ("\d" is an invalid escape
   sequence, use raw strings for regular expression:
   re.compile(r"\d+\.\d+")). In a future Python version,
   SyntaxError will eventually be raised, instead of
   SyntaxWarning."

Given that python intends to turn this into an error in a future release, this should be proactively fixed now.

Fortunately the regexes used by sgx-asm-pp don't appear to need to use any genuine backslash escapes, all the backslash usage is for regex characters, so the raw string conversion is simple.

Running sgx-asm-pp.py on Python >= 3.12 generates many warnings:

  sgx-asm-pp.py:64: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:85: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:65: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:86: SyntaxWarning: invalid escape sequence '\s'
  sgx-asm-pp.py:66: SyntaxWarning: invalid escape sequence '\s'

This is a new python change:

  https://docs.python.org/3/whatsnew/3.12.html#other-language-changes

  "A backslash-character pair that is not a valid escape
   sequence now generates a SyntaxWarning, instead of
   DeprecationWarning. For example, re.compile("\d+\.\d+")
   now emits a SyntaxWarning ("\d" is an invalid escape
   sequence, use raw strings for regular expression:
   re.compile(r"\d+\.\d+")). In a future Python version,
   SyntaxError will eventually be raised, instead of
   SyntaxWarning."

Given that python intends to turn this into an error in a future
release, this should be proactively fixed now.

Fortunately the regexes used by sgx-asm-pp don't appear to need
to use any genuine backslash escapes, all the backslash usage
is for regex characters, so the raw string conversion is simple.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants