gdb/testsuite: handle older Python versions in gdb.python/py-disasm.exp
authorAndrew Burgess <aburgess@redhat.com>
Wed, 17 May 2023 17:39:26 +0000 (18:39 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 19 May 2023 08:58:46 +0000 (09:58 +0100)
commit637969a709c4542702d283a0471c5364d26ba81b
tree30d4ec235bc4395702cead185b720b969f5633f1
parentf1cd8b94e7c941c2a9107c1112ab2339916b8efd
gdb/testsuite: handle older Python versions in gdb.python/py-disasm.exp

It was pointed out on the mailing list that the new tests added in
this commit:

  commit 4de4e48514fc47aeb4ca95cd4091e2a333fbe9e1
  Date:   Tue Jan 24 15:35:45 2023 +0000

      gdb/python: extend the Python Disassembler API to allow for styling

will fail when GDB is built with Python 3.6 or earlier.  This is
because the error that is emitted when a function argument is missing
changed in Python 3.7, instead of an error like this:

  Python Exception <class 'TypeError'>: function missing required argument 'style' (pos 1)

earlier versions of Python emit:

  Python Exception <class 'TypeError'>: Required argument 'style' (pos 1) not found

and the new tests didn't allow for this.

This commit fixes this by allowing either pattern.  I've tested this
building GDB against Python 3.7.9 and 3.6.15, with this commit all
tests in gdb.python/py-disasm.exp now pass.
gdb/testsuite/gdb.python/py-disasm.exp