Use raw strings on gdb.python/py-xmethods.exp (and fix Python 3.8's "SyntaxWarning: invalid escape sequence")
The way unrecognized escape sequences are handled has changed in Python 3.8: users now see a SyntaxWarning message, which will eventually become a SyntaxError in future versions of Python: (gdb) source /blabla/gdb.python/py-xmethods/py-xmethods.py /blabla/gdb.python/py-xmethods/py-xmethods.py:204: SyntaxWarning: invalid escape seque nce \+ 'operator\+', /blabla/gdb.python/py-xmethods/py-xmethods.py:211: SyntaxWarning: invalid escape seque nce \+ 'operator\+\+', One of our testcases, gdb.python/py-xmethods.exp, contains strings in the form of "operator\+". This is not recognized by Python, but is still needed by the testsuite to work properly. The solution is simple: we just have to make sure these strings are marked as raw (i.e, r""). This is what this patch does. I took the opportunity to also convert other strings to raw, which, in two cases, allowed the removal of an extra backslash. I tested this using Python 3.7 and Python 3.8, and everything works fine. I think I could push this as obvious, but decided to send it to gdb-patches just in case. gdb/testsuite/ChangeLog: 2019-08-26 Sergio Durigan Junior <sergiodj@redhat.com> * gdb.python/py-xmethods.exp: Use raw strings when passing arguments to SimpleXMethodMatcher.
This commit is contained in:
parent
37606e67df
commit
d9c4ba536c
2 changed files with 23 additions and 18 deletions
|
@ -1,3 +1,8 @@
|
|||
2019-08-26 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* gdb.python/py-xmethods.exp: Use raw strings when passing
|
||||
arguments to SimpleXMethodMatcher.
|
||||
|
||||
2019-08-22 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.multi/multi-term-settings.exp (coretest): Make gdb_test messages
|
||||
|
|
|
@ -199,34 +199,34 @@ class G_methods_matcher(XMethodMatcher):
|
|||
|
||||
|
||||
global_dm_list = [
|
||||
SimpleXMethodMatcher('A_plus_A',
|
||||
'^dop::A$',
|
||||
'operator\+',
|
||||
SimpleXMethodMatcher(r'A_plus_A',
|
||||
r'^dop::A$',
|
||||
r'operator\+',
|
||||
A_plus_A,
|
||||
# This is a replacement, hence match the arg type
|
||||
# exactly!
|
||||
type_A.const().reference()),
|
||||
SimpleXMethodMatcher('plus_plus_A',
|
||||
'^dop::A$',
|
||||
'operator\+\+',
|
||||
SimpleXMethodMatcher(r'plus_plus_A',
|
||||
r'^dop::A$',
|
||||
r'operator\+\+',
|
||||
plus_plus_A),
|
||||
SimpleXMethodMatcher('A_geta',
|
||||
'^dop::A$',
|
||||
'^geta$',
|
||||
SimpleXMethodMatcher(r'A_geta',
|
||||
r'^dop::A$',
|
||||
r'^geta$',
|
||||
A_geta),
|
||||
SimpleXMethodMatcher('A_getarrayind',
|
||||
'^dop::A$',
|
||||
'^getarrayind$',
|
||||
SimpleXMethodMatcher(r'A_getarrayind',
|
||||
r'^dop::A$',
|
||||
r'^getarrayind$',
|
||||
A_getarrayind,
|
||||
type_int),
|
||||
SimpleXMethodMatcher('A_indexoper',
|
||||
'^dop::A$',
|
||||
'operator\\[\\]',
|
||||
SimpleXMethodMatcher(r'A_indexoper',
|
||||
r'^dop::A$',
|
||||
r'operator\[\]',
|
||||
A_indexoper,
|
||||
type_int),
|
||||
SimpleXMethodMatcher('B_indexoper',
|
||||
'^dop::B$',
|
||||
'operator\\[\\]',
|
||||
SimpleXMethodMatcher(r'B_indexoper',
|
||||
r'^dop::B$',
|
||||
r'operator\[\]',
|
||||
B_indexoper,
|
||||
type_int)
|
||||
]
|
||||
|
|
Loading…
Add table
Reference in a new issue