diff options
Diffstat (limited to 'gdb/testsuite/gdb.python/py-mi.exp')
-rw-r--r-- | gdb/testsuite/gdb.python/py-mi.exp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.python/py-mi.exp b/gdb/testsuite/gdb.python/py-mi.exp index 629417b..37359e9 100644 --- a/gdb/testsuite/gdb.python/py-mi.exp +++ b/gdb/testsuite/gdb.python/py-mi.exp @@ -283,4 +283,44 @@ mi_list_varobj_children nstype2 { { {nstype2.<error at 0>} {<error at 0>} 6 {char \[6\]} } } "list children after setting exception flag" +# C++ MI tests +gdb_exit +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ + executable {debug c++ additional_flags=-DMI}] != "" } { + untested "Couldn't compile ${srcfile} in c++ mode" + return -1 +} + +if [mi_gdb_start] { + continue +} +mi_delete_breakpoints +mi_gdb_reinitialize_dir $srcdir/$subdir +mi_gdb_load ${binfile} + +if {[lsearch -exact [mi_get_features] python] < 0} { + unsupported "python support is disabled" + return -1 +} + +mi_runto main +mi_continue_to_line \ + [gdb_get_line_number {break to inspect struct and union} ${testfile}.c] \ + "step to breakpoint" + +# Test python/12531. Install visualizer on a cplus_fake_child. +mi_create_varobj fake fake \ + "create fake varobj" + +mi_list_varobj_children fake { + { fake.private private 1 } +} "list children of fake" + +mi_list_varobj_children fake.private { + { fake.private.sname sname 0 int } +} "list children fake.private" + +mi_gdb_test "-var-set-visualizer fake.private gdb.default_visualizer" \ + "\\^done" "Install visualizer on a cplus_fake_child" + remote_file host delete ${remote_python_file} |