Skip to content

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é <[email protected]>
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