aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.mi
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2009-05-17 07:13:19 +0000
committerVladimir Prus <vladimir@codesourcery.com>2009-05-17 07:13:19 +0000
commitee342b2344e091d2d8a5bfea83b19f651ea58dff (patch)
tree854f620f66decdde5bda9c56600f0b2e5782f9ae /gdb/testsuite/gdb.mi
parent177b81d66a6cf42aaa2b15ccc499bb7b292c3955 (diff)
downloadgdb-ee342b2344e091d2d8a5bfea83b19f651ea58dff.zip
gdb-ee342b2344e091d2d8a5bfea83b19f651ea58dff.tar.gz
gdb-ee342b2344e091d2d8a5bfea83b19f651ea58dff.tar.bz2
Always report varobj as changed when in_scope attribute changes.
* varobj.c (install_new_value): If non-NULL-ness of value changed, return 1.
Diffstat (limited to 'gdb/testsuite/gdb.mi')
-rw-r--r--gdb/testsuite/gdb.mi/mi-var-cmd.exp27
1 files changed, 27 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.mi/mi-var-cmd.exp b/gdb/testsuite/gdb.mi/mi-var-cmd.exp
index ffe0b79..78b30bd 100644
--- a/gdb/testsuite/gdb.mi/mi-var-cmd.exp
+++ b/gdb/testsuite/gdb.mi/mi-var-cmd.exp
@@ -631,5 +631,32 @@ mi_gdb_test "-var-delete endvar" \
"\\^done,ndeleted=\"1\"" \
"delete endvar"
+mi_delete_breakpoints
+
+mi_runto do_locals_tests
+
+mi_create_varobj "L" "lsimple" "in-and-out-of-scope: create varobj"
+mi_check_varobj_value "L" "{...}" "in-and-out-of-scope: check initial value"
+
+mi_runto main
+
+mi_gdb_test "-var-update L" \
+ {\^done,changelist=\[{name="L",in_scope="false",type_changed="false"}\]} \
+ "in-and-out-of-scope: out of scope now"
+
+mi_gdb_test "-var-update L" \
+ {\^done,changelist=\[]} \
+ "in-and-out-of-scope: out of scope now, not changed"
+
+mi_continue_to do_locals_tests
+
+mi_gdb_test "-var-update L" \
+ {\^done,changelist=\[{name="L",in_scope="true",type_changed="false"}\]} \
+ "in-and-out-of-scope: in scope now"
+
+mi_gdb_test "-var-update L" \
+ {\^done,changelist=\[\]} \
+ "in-and-out-of-scope: in scope now, not changed"
+
mi_gdb_exit
return 0