diff options
author | Yao Qi <yao@codesourcery.com> | 2013-11-10 10:31:09 +0800 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2013-11-22 08:34:42 +0800 |
commit | 0a1e61210c1740acbd5739afdf0f445a7e613d5c (patch) | |
tree | 8573655c016c0eb864d7b83f8c4e1a3cef6b414f /gdb | |
parent | 0061ea2440bff35c29fa18c752528680dc985242 (diff) | |
download | gdb-0a1e61210c1740acbd5739afdf0f445a7e613d5c.zip gdb-0a1e61210c1740acbd5739afdf0f445a7e613d5c.tar.gz gdb-0a1e61210c1740acbd5739afdf0f445a7e613d5c.tar.bz2 |
Check has_more in mi_create_dynamic_varobj
Hi,
I find "has_more" is not checked when a dynamic varobj is created in
proc mi_create_dynamic_varobj. This patch adds the check to
"has_more".
gdb/testsuite:
2013-11-22 Yao Qi <yao@codesourcery.com>
* lib/mi-support.exp (mi_create_dynamic_varobj): Update
comment and add one more argument "has_more".
* gdb.python/py-mi.exp: Callers update.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-mi.exp | 16 | ||||
-rw-r--r-- | gdb/testsuite/lib/mi-support.exp | 5 |
3 files changed, 18 insertions, 9 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9b78096..58d2bc7 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2013-11-22 Yao Qi <yao@codesourcery.com> + * lib/mi-support.exp (mi_create_dynamic_varobj): Update + comment and add one more argument "has_more". + * gdb.python/py-mi.exp: Callers update. + +2013-11-22 Yao Qi <yao@codesourcery.com> + * gdb.python/py-mi.exp: Use mi_create_floating_varobj instead of mi_create_dynamic_varobj. diff --git a/gdb/testsuite/gdb.python/py-mi.exp b/gdb/testsuite/gdb.python/py-mi.exp index 69bc093..b132a56 100644 --- a/gdb/testsuite/gdb.python/py-mi.exp +++ b/gdb/testsuite/gdb.python/py-mi.exp @@ -87,7 +87,9 @@ mi_gdb_test "-var-update string" \ "\\^done,changelist=\\\[{name=\"string\",in_scope=\"true\",type_changed=\"false\",dynamic=\"1\",has_more=\"0\"}\\\]" \ "update string varobj after assignment" -mi_create_dynamic_varobj container c \ +# The "elements" field of "c" is still empty, so the attribute +# "has_more" is expected to be zero. +mi_create_dynamic_varobj container c 0 \ "create container varobj" mi_list_varobj_children container { @@ -202,7 +204,7 @@ mi_next "next over update 5" # Regression test: examine an object that has no children, then update # it to ensure that we don't print the children. -mi_create_dynamic_varobj container2 c2 \ +mi_create_dynamic_varobj container2 c2 0 \ "create second container varobj" mi_gdb_test "-var-update container2" \ @@ -223,7 +225,7 @@ mi_continue_to_line \ [gdb_get_line_number {MI outer breakpoint here} ${srcfile}] \ "step to outer breakpoint" -mi_create_dynamic_varobj outer outer \ +mi_create_dynamic_varobj outer outer 1 \ "create outer varobj" mi_list_varobj_children outer { @@ -253,7 +255,7 @@ mi_continue_to_line \ [gdb_get_line_number {break to inspect struct and union} ${srcfile}] \ "step to outer breakpoint" -mi_create_dynamic_varobj nscont nstype \ +mi_create_dynamic_varobj nscont nstype 1 \ "create nstype varobj" mi_list_varobj_children nscont { @@ -275,7 +277,7 @@ mi_gdb_test "-var-set-visualizer nscont gdb.default_visualizer" \ mi_gdb_test "python exception_flag = True" "" -mi_create_dynamic_varobj nstype2 nstype2 \ +mi_create_dynamic_varobj nstype2 nstype2 1 \ "create nstype2 varobj" mi_list_varobj_children nstype2 { @@ -290,7 +292,7 @@ mi_gdb_test "-var-evaluate-expression me" \ "evaluate me varobj" # Regression test for python/14836. -mi_create_dynamic_varobj children_as_list children_as_list \ +mi_create_dynamic_varobj children_as_list children_as_list 1 \ "printer whose children are returned as a list" # Regression test for bug 14741. @@ -298,7 +300,7 @@ mi_continue_to_line \ [gdb_get_line_number {breakpoint bug 14741} ${srcfile}] \ "step to breakpoint for bug 14741" -mi_create_dynamic_varobj c c \ +mi_create_dynamic_varobj c c 1 \ "create varobj for c" mi_gdb_test "-var-set-visualizer c ArrayPrinter" \ diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index 7f34c9b..0c3cdbe 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -1277,9 +1277,10 @@ proc mi_create_varobj_checked { name expression type testname } { # Same as mi_create_floating_varobj, but assumes the test is creating # a dynamic varobj that has children, so the value must be "{...}". -proc mi_create_dynamic_varobj {name expression testname} { +# The "has_more" attribute is checked. +proc mi_create_dynamic_varobj {name expression has_more testname} { mi_gdb_test "-var-create $name @ $expression" \ - "\\^done,name=\"$name\",numchild=\"\(-1\|\[0-9\]+\)\",value=\"{\\.\\.\\.}\",type=.*" \ + "\\^done,name=\"$name\",numchild=\"0\",value=\"{\\.\\.\\.}\",type=.*,has_more=\"${has_more}\"" \ $testname } |