This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[pushed] python: Add tests for trying to use an invalid Inferior object
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Simon Marchi <simon dot marchi at ericsson dot com>
- Date: Wed, 12 Sep 2018 18:38:40 -0400
- Subject: [pushed] python: Add tests for trying to use an invalid Inferior object
This patch adds tests for trying to use property or methods on a
gdb.Inferior object that represents an inferior that does not exist
anymore. We expect an exception to be thrown.
gdb/testsuite/ChangeLog:
* gdb.python/py-inferior.exp: Test using an invalid gdb.Inferior
object.
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.python/py-inferior.exp | 13 +++++++++++++
2 files changed, 18 insertions(+)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index db5369de651..949f1ae210a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-09-12 Simon Marchi <simon.marchi@ericsson.com>
+
+ * gdb.python/py-inferior.exp: Test using an invalid gdb.Inferior
+ object.
+
2018-09-12 Alan Hayward <alan.hayward@arm.com>
* lib/gdb.exp (gdb_can_simple_compile): Add proc.
diff --git a/gdb/testsuite/gdb.python/py-inferior.exp b/gdb/testsuite/gdb.python/py-inferior.exp
index a943d5f214e..055dd87c6d8 100644
--- a/gdb/testsuite/gdb.python/py-inferior.exp
+++ b/gdb/testsuite/gdb.python/py-inferior.exp
@@ -253,6 +253,19 @@ with_test_prefix "is_valid" {
gdb_test "python print (my_inferior_count)" "1" \
"test inferior-deleted event handler"
+
+ # Test that other properties and methods handle the removed inferior
+ # correctly.
+ gdb_test "python print (inf_list\[1\].num)" \
+ "RuntimeError: Inferior no longer exists.*"
+ gdb_test "python print (inf_list\[1\].pid)" \
+ "RuntimeError: Inferior no longer exists.*"
+ gdb_test "python print (inf_list\[1\].was_attached)" \
+ "RuntimeError: Inferior no longer exists.*"
+ gdb_test "python print (inf_list\[1\].threads ())" \
+ "RuntimeError: Inferior no longer exists.*"
+ gdb_test "python print (inf_list\[1\].thread_from_thread_handle (1))" \
+ "RuntimeError: Inferior no longer exists.*"
}
# Test gdb.selected_inferior()
--
2.19.0