summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorGustavo Romero <gustavo.romero@linaro.org>2024-05-15 17:31:31 +0000
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-05-17 16:49:04 +0200
commit93a3048dcf4565c73f2aa1d751f7197e296f1f1f (patch)
tree4f229302331809c3c7c79c99ed31c9f8395aad02
parente68dcbb07923df0886802727edc3b21a10b0d342 (diff)
downloadfocaccia-qemu-93a3048dcf4565c73f2aa1d751f7197e296f1f1f.tar.gz
focaccia-qemu-93a3048dcf4565c73f2aa1d751f7197e296f1f1f.zip
tests: Gently exit from GDB when tests complete
GDB commit a207f6b3a38 ('Rewrite "python" command exception handling')
changed how exit() called from Python scripts loaded by GDB behave,
turning it into an exception instead of a generic error code that is
returned. This change caused several QEMU tests to crash with the
following exception:

Python Exception <class 'SystemExit'>: 0
Error occurred in Python: 0

This happens because in tests/guest-debug/test_gdbstub.py exit is
called after the tests have completed.

This commit fixes it by politely asking GDB to exit via gdb.execute,
passing the proper fail_count to be reported to 'make', instead of
abruptly calling exit() from the Python script.

Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240515173132.2462201-4-gustavo.romero@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
-rw-r--r--tests/guest-debug/test_gdbstub.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/guest-debug/test_gdbstub.py b/tests/guest-debug/test_gdbstub.py
index 7f71d34da1..46fbf98f0c 100644
--- a/tests/guest-debug/test_gdbstub.py
+++ b/tests/guest-debug/test_gdbstub.py
@@ -57,4 +57,4 @@ def main(test, expected_arch=None):
         pass
 
     print("All tests complete: {} failures".format(fail_count))
-    exit(fail_count)
+    gdb.execute(f"exit {fail_count}")