[binutils-gdb] python: Add tests for trying to use an invalid Inferior object

Simon Marchi simark@sourceware.org
Wed Sep 12 22:38:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4aa8e6c2387e796649279c2190cd499b579d028c

commit 4aa8e6c2387e796649279c2190cd499b579d028c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Sep 12 18:27:57 2018 -0400

    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.

Diff:
---
 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 db5369d..949f1ae 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 a943d5f..055dd87 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()



More information about the Gdb-cvs mailing list