aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.mi/gdb792.exp
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-03-26 13:24:22 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-03-26 13:24:22 +0000
commit9e8e3afe379605b88ca2ab1013a2fa441534232c (patch)
tree639283566b9cd9532ad7d99f1ee2207d74f539dc /gdb/testsuite/gdb.mi/gdb792.exp
parentc35e54f42419c844fb50cc537f4606ada454ecd6 (diff)
downloadgdb-9e8e3afe379605b88ca2ab1013a2fa441534232c.zip
gdb-9e8e3afe379605b88ca2ab1013a2fa441534232c.tar.gz
gdb-9e8e3afe379605b88ca2ab1013a2fa441534232c.tar.bz2
* lib/mi-support.exp (mi_create_varobj_checked): New.
(mi_list_varobj_children): Allow to check for a value. (mi_list_array_varobj_children): New. * gdb.mi/mi-var-child.exp: Use mi_create_varobj and mi_list_varobj_children, as opposed to hardcoding expected strings. * gdb.mi/gdb701.exp: Likewise. * gdb.mi/gdb792.exp: Likewise. * gdb.mi/mi-var-block.exp: Likewise. * gdb.mi/mi-var-cmd.exp: Likewise. * gdb.mi/mi-var-invalidate.exp: Likewise. * gdb.mi/mi2-var-block.exp: Likewise. * gdb.mi/mi2-var-child.exp: Likewise. * gdb.mi/mi2-var-cmd.exp: Likewise. * gdb.mi/mi2-var-display.exp: Likewise.
Diffstat (limited to 'gdb/testsuite/gdb.mi/gdb792.exp')
-rw-r--r--gdb/testsuite/gdb.mi/gdb792.exp83
1 files changed, 44 insertions, 39 deletions
diff --git a/gdb/testsuite/gdb.mi/gdb792.exp b/gdb/testsuite/gdb.mi/gdb792.exp
index 0088280..652e616 100644
--- a/gdb/testsuite/gdb.mi/gdb792.exp
+++ b/gdb/testsuite/gdb.mi/gdb792.exp
@@ -48,45 +48,50 @@ if {[gdb_compile $srcdir/$subdir/$srcfile $binfile executable {debug c++}] != ""
# Run to main
mi_run_to_main
-mi_gdb_test "-var-create - * a" \
- "(&\".*\"\r\n)*\\^done,name=\"var1\",numchild=\"3\",value=\".*\",type=\"A\"" \
- "create var for class A"
-
-mi_gdb_test "-var-list-children var1" \
- "(&\".*\"\r\n)*\\^done,numchild=\"3\",children=\\\[child=\{name=\"var1\.public\",exp=\"public\",numchild=\"2\"\},child=\{name=\"var1\.private\",exp=\"private\",numchild=\"2\"\},child=\{name=\"var1\.protected\",exp=\"protected\",numchild=\"2\"\}\\\]" \
- "list children of class A"
-
-mi_gdb_test "-var-list-children var1.public" \
- "(&\".*\"\r\n)*\\^done,numchild=\"2\",children=\\\[child=\{name=\"var1\.public\.x\",exp=\"x\",numchild=\"0\",type=\"int\"\},child=\{name=\"var1\.public\.buffer\",exp=\"buffer\",numchild=\"10\",type=\"char \\\[10\\\]\"\}\\\]" \
- "list children of A.public"
-
-mi_gdb_test "-var-list-children var1.private" \
- "(&\".*\"\r\n)*\\^done,numchild=\"2\",children=\\\[child=\{name=\"var1\.private\.u\",exp=\"u\",numchild=\"0\",type=\"int\"\},child=\{name=\"var1\.private\.z\",exp=\"z\",numchild=\"0\",type=\"float\"\}\\\]" \
- "list children of A.private"
-
-mi_gdb_test "-var-list-children var1.protected" \
- "(&\".*\"\r\n)*\\^done,numchild=\"2\",children=\\\[child=\{name=\"var1\.protected\.y\",exp=\"y\",numchild=\"0\",type=\"int\"\},child=\{name=\"var1\.protected\.b\",exp=\"b\",numchild=\"2\",type=\"B\"\}\\\]" \
- "list children of A.protected"
-
-mi_gdb_test "-var-list-children var1.protected.b" \
- "(&\".*\"\r\n)*\\^done,numchild=\"2\",children=\\\[child=\{name=\"var1\.protected\.b\.public\",exp=\"public\",numchild=\"2\"\},child=\{name=\"var1\.protected\.b\.private\",exp=\"private\",numchild=\"1\"\}\\\]" \
- "list children of A.protected.b"
-
-mi_gdb_test "-var-list-children var1.protected.b.public" \
- "(&\".*\"\r\n)*\\^done,numchild=\"2\",children=\\\[child=\{name=\"var1\.protected\.b\.public\.bx\",exp=\"bx\",numchild=\"0\",type=\"int\"\},child=\{name=\"var1\.protected\.b\.public\.by\",exp=\"by\",numchild=\"0\",type=\"int\"\}\\\]" \
- "list children of A.protected.b.public"
-
-mi_gdb_test "-var-list-children var1.protected.b.private" \
- "(&\".*\"\r\n)*\\^done,numchild=\"1\",children=\\\[child=\{name=\"var1\.protected\.b\.private\.k\",exp=\"k\",numchild=\"0\",type=\"int\"\}\\\]" \
- "list children of A.protected.b.private"
-
-mi_gdb_test "-var-create - * c" \
- "(&\".*\"\r\n)*\\^done,name=\"var2\",numchild=\"3\",value=\".*\",type=\"C\"" \
- "create var for class C which has baseclass A"
-
-mi_gdb_test "-var-list-children var2" \
- "(&\".*\"\r\n)*\\^done,numchild=\"3\",children=\\\[child=\{name=\"var2\.A\",exp=\"A\",numchild=\"3\",type=\"A\"\},child=\{name=\"var2\.public\",exp=\"public\",numchild=\"1\"\},child=\{name=\"var2\.private\",exp=\"private\",numchild=\"1\"\}\\\]" \
- "list children of class C"
+mi_create_varobj "var1" "a" "create var for class A"
+
+mi_list_varobj_children "var1" {
+ {var1.public public 2}
+ {var1.private private 2}
+ {var1.protected protected 2}
+} "list children of class A"
+
+mi_list_varobj_children "var1.public" {
+ {var1.public.x x 0 int}
+ {var1.public.buffer buffer 10 {char \[10\]}}
+} "list children of A.public"
+
+mi_list_varobj_children "var1.private" {
+ {var1.private.u u 0 int}
+ {var1.private.z z 0 float}
+} "list children of A.private"
+
+mi_list_varobj_children "var1.protected" {
+ {var1.protected.y y 0 int}
+ {var1.protected.b b 2 B}
+} "list children of A.protected"
+
+mi_list_varobj_children "var1.protected.b" {
+ {var1.protected.b.public public 2}
+ {var1.protected.b.private private 1}
+} "list children of A.protected.b"
+
+mi_list_varobj_children "var1.protected.b.public" {
+ {var1.protected.b.public.bx bx 0 int}
+ {var1.protected.b.public.by by 0 int}
+} "list children of A.protected.b.public"
+
+mi_list_varobj_children "var1.protected.b.private" {
+ {var1.protected.b.private.k k 0 int}
+} "list children of A.protected.b.private"
+
+mi_create_varobj "var2" "c" "create var for class C which has baseclass A"
+
+mi_list_varobj_children "var2" {
+ {var2.A A 3 A}
+ {var2.public public 1}
+ {var2.private private 1}
+} "list children of class C"
mi_gdb_exit
return 0