diff options
author | Kevin Pouget <kpouget@sourceware.org> | 2011-09-15 12:42:30 +0000 |
---|---|---|
committer | Kevin Pouget <kpouget@sourceware.org> | 2011-09-15 12:42:30 +0000 |
commit | 2aa483373c8e7abf69bbc074a17bf708a1a5eaff (patch) | |
tree | 17786f6230cb15f662de16a68bb5f731d7e68ce0 /gdb | |
parent | 6839b47f2b1cd56c90dc38da7bb612df7e052d90 (diff) | |
download | gdb-2aa483373c8e7abf69bbc074a17bf708a1a5eaff.zip gdb-2aa483373c8e7abf69bbc074a17bf708a1a5eaff.tar.gz gdb-2aa483373c8e7abf69bbc074a17bf708a1a5eaff.tar.bz2 |
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* python/py-inferior.c (GdbMethods): New Python method definition.
doc:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.texinfo (Inferiors In Python): Describe new
gdb.selected_inferior() function.
testsuite:
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior().
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 4 | ||||
-rw-r--r-- | gdb/python/py-inferior.c | 14 | ||||
-rw-r--r-- | gdb/python/python-internal.h | 1 | ||||
-rw-r--r-- | gdb/python/python.c | 3 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-inferior.exp | 12 |
8 files changed, 49 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 380f75f..c9db20e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-09-15 Kevin Pouget <kevin.pouget@st.com> + + PR Python/12692 Add gdb.selected_inferior() to Python interface. + * python/py-inferior.c (GdbMethods): New Python method definition. + 2011-09-15 Kevin Pouget <kevin.pouget@st.com> Handle multiple breakpoint hits in Python interface: diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 54dd4e8..488ba75 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,5 +1,11 @@ 2011-09-15 Kevin Pouget <kevin.pouget@st.com> + PR Python/12692 Add gdb.selected_inferior() to Python interface. + * gdb.texinfo (Inferiors In Python): Describe new + gdb.selected_inferior() function. + +2011-09-15 Kevin Pouget <kevin.pouget@st.com> + Handle multiple breakpoint hits in Python interface: * gdb.texinfo (Events In Python): New function documentation: gdb.BreakpointEvent.breakpoints. Indicate that diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 76c804b..2fecb6a 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22146,6 +22146,10 @@ module: Return a tuple containing all inferior objects. @end defun +@defun selected_inferior +Return an object representing the current inferior. +@end defun + A @code{gdb.Inferior} object has the following attributes: @table @code diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index 6add681..8ed3ea5 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -683,6 +683,20 @@ py_free_inferior (struct inferior *inf, void *datum) do_cleanups (cleanup); } +/* Implementation of gdb.selected_inferior() -> gdb.Inferior. + Returns the current inferior object. */ + +PyObject * +gdbpy_selected_inferior (PyObject *self, PyObject *args) +{ + PyObject *inf_obj; + + inf_obj = inferior_to_inferior_object (current_inferior ()); + Py_INCREF (inf_obj); + + return inf_obj; +} + void gdbpy_initialize_inferior (void) { diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 4209c28..11f1efd 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -151,6 +151,7 @@ PyObject *gdbpy_create_lazy_string_object (CORE_ADDR address, long length, struct type *type); PyObject *gdbpy_inferiors (PyObject *unused, PyObject *unused2); PyObject *gdbpy_selected_thread (PyObject *self, PyObject *args); +PyObject *gdbpy_selected_inferior (PyObject *self, PyObject *args); PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args); PyObject *gdbpy_parameter (PyObject *self, PyObject *args); PyObject *gdbpy_parameter_value (enum var_types type, void *var); diff --git a/gdb/python/python.c b/gdb/python/python.c index 0f702a2..67649c3 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -1423,6 +1423,9 @@ Arguments are separate by spaces and may be quoted." { "selected_thread", gdbpy_selected_thread, METH_NOARGS, "selected_thread () -> gdb.InferiorThread.\n\ Return the selected thread object." }, + { "selected_inferior", gdbpy_selected_inferior, METH_NOARGS, + "selected_inferior () -> gdb.Inferior.\n\ +Return the selected inferior object." }, { "inferiors", gdbpy_inferiors, METH_NOARGS, "inferiors () -> (gdb.Inferior, ...).\n\ Return a tuple containing all inferiors." }, diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c33f55b..1ff1358 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-09-15 Kevin Pouget <kevin.pouget@st.com> + + PR Python/12692 Add gdb.selected_inferior() to Python interface. + * gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior(). + 2011-04-30 Kevin Pouget <kevin.pouget@st.com> Handle multiple breakpoint hits in Python interface: diff --git a/gdb/testsuite/gdb.python/py-inferior.exp b/gdb/testsuite/gdb.python/py-inferior.exp index b853c79..f8e0c4e 100644 --- a/gdb/testsuite/gdb.python/py-inferior.exp +++ b/gdb/testsuite/gdb.python/py-inferior.exp @@ -206,8 +206,18 @@ gdb_test "python print inf_list\[0\].is_valid()" "True" \ "Check inferior validity" gdb_test "python print inf_list\[1\].is_valid()" "True" \ "Check inferior validity" -gdb_test_no_output "remove-inferiors 2" "remove-inferiors 2" +gdb_test_no_output "remove-inferiors 2" "remove-inferiors 3" gdb_test "python print inf_list\[0\].is_valid()" "False" \ "Check inferior validity" gdb_test "python print inf_list\[1\].is_valid()" "True" \ "Check inferior validity" + +# Test gdb.selected_inferior() +gdb_test "inferior 1" ".*" "Switch to first inferior" +gdb_test "py print gdb.selected_inferior().num" "1" "First inferior selected" + +gdb_test "add-inferior" "Added inferior 3" "Create new inferior" +gdb_test "inferior 3" ".*" "Switch to third inferior" +gdb_test "py print gdb.selected_inferior().num" "3" "Third inferior selected" +gdb_test "inferior 1" ".*" "Switch to first inferior" +gdb_test_no_output "remove-inferiors 3" "Remove second inferior"
\ No newline at end of file |