[v2,0/5] Fix DAP pause bug

Message ID 20240220-py-simple-exc-v2-0-c672f1984b4d@adacore.com
Headers
Series Fix DAP pause bug |

Message

Tom Tromey Feb. 20, 2024, 3:21 p.m. UTC
  Tom de Vriest pointed out that the DAP pause.exp test wasn't actually
testing interruption of Python.  Digging into this revealed that the
"python" and "source" commands don't handle Python exceptions in the
normal way (in gdb terms).

This series changes how these are implemented and fixes the original
problem that Tom pointed out.

Tested on x86-64 Fedora 38.

---
Changes in v2:
- Renamed new function in first patch
- Link to v1: https://inbox.sourceware.org/gdb-patches/20240216-py-simple-exc-v1-0-c275bcfb5e4a@adacore.com

---
Tom Tromey (5):
      Introduce read_remainder_of_file
      Fix formatting buglet in python.c
      kfail a FinishBreakpoint test
      Rewrite "python" command exception handling
      Use the .py file in gdb.dap/pause.exp

 gdb/python/lib/gdb/__init__.py                    |  27 ------
 gdb/python/python.c                               | 111 +++++++++-------------
 gdb/testsuite/gdb.ada/tasks.exp                   |   8 +-
 gdb/testsuite/gdb.dap/pause.exp                   |   2 +-
 gdb/testsuite/gdb.python/py-arch.exp              |   2 +-
 gdb/testsuite/gdb.python/py-block.exp             |   4 +-
 gdb/testsuite/gdb.python/py-breakpoint.exp        |  18 ++--
 gdb/testsuite/gdb.python/py-connection.exp        |   8 +-
 gdb/testsuite/gdb.python/py-disasm.exp            |  32 +++----
 gdb/testsuite/gdb.python/py-error.exp             |   9 +-
 gdb/testsuite/gdb.python/py-finish-breakpoint.exp |   8 +-
 gdb/testsuite/gdb.python/py-format-address.exp    |  28 +++---
 gdb/testsuite/gdb.python/py-format-string.exp     |   8 +-
 gdb/testsuite/gdb.python/py-frame.exp             |  18 ++--
 gdb/testsuite/gdb.python/py-inferior.exp          |  24 ++---
 gdb/testsuite/gdb.python/py-lazy-string.exp       |   6 +-
 gdb/testsuite/gdb.python/py-mi-cmd.exp            |  40 ++++----
 gdb/testsuite/gdb.python/py-missing-debug.exp     |  16 ++--
 gdb/testsuite/gdb.python/py-objfile.exp           |   2 +-
 gdb/testsuite/gdb.python/py-parameter.exp         |  14 +--
 gdb/testsuite/gdb.python/py-pp-registration.exp   |   2 +-
 gdb/testsuite/gdb.python/py-progspace-events.exp  |   2 +-
 gdb/testsuite/gdb.python/py-progspace.exp         |   8 +-
 gdb/testsuite/gdb.python/py-record-btrace.exp     |   4 +-
 gdb/testsuite/gdb.python/py-record-full.exp       |   4 +-
 gdb/testsuite/gdb.python/py-template.exp          |   2 +-
 gdb/testsuite/gdb.python/py-thrhandle.exp         |   2 +-
 gdb/testsuite/gdb.python/py-type.exp              |  20 ++--
 gdb/testsuite/gdb.python/py-unwind.exp            |  24 ++---
 gdb/testsuite/gdb.python/py-value.exp             |  36 +++----
 gdb/testsuite/gdb.python/python.exp               |  10 +-
 gdb/testsuite/gdb.python/tui-window-names.exp     |  16 ++--
 gdb/testsuite/gdb.python/tui-window.exp           |   2 +-
 gdbsupport/filestuff.cc                           |  24 +++--
 gdbsupport/filestuff.h                            |   4 +
 35 files changed, 260 insertions(+), 285 deletions(-)
---
base-commit: d9511b64b85296f39ded68f82f7f25ee7d6b25fb
change-id: 20240216-py-simple-exc-91903ca871f5

Best regards,