diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-11-05 22:31:32 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-11-05 22:31:32 +0000 |
commit | f80a3b5fb48e8b2cf3cbad04fc1ff38e82bf64fa (patch) | |
tree | 87ecc78cde892959d4f0539ade7baa2b6da84a26 /gdb/testsuite/gdb.mi/gdb792.exp | |
parent | 6e382aa38c6b195e1276bef4491ce47fd543df1e (diff) | |
download | fsf-binutils-gdb-f80a3b5fb48e8b2cf3cbad04fc1ff38e82bf64fa.zip fsf-binutils-gdb-f80a3b5fb48e8b2cf3cbad04fc1ff38e82bf64fa.tar.gz fsf-binutils-gdb-f80a3b5fb48e8b2cf3cbad04fc1ff38e82bf64fa.tar.bz2 |
2002-11-05 Jeff Johnston <jjohnstn@redhat.com>
* gdb792.cc: New file to test patch for PR gdb/792.
* gdb792.exp: Ditto.
Diffstat (limited to 'gdb/testsuite/gdb.mi/gdb792.exp')
-rw-r--r-- | gdb/testsuite/gdb.mi/gdb792.exp | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.mi/gdb792.exp b/gdb/testsuite/gdb.mi/gdb792.exp new file mode 100644 index 0000000..ce5ac31 --- /dev/null +++ b/gdb/testsuite/gdb.mi/gdb792.exp @@ -0,0 +1,90 @@ +# Copyright 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# +# test gdb/792 +# + +load_lib mi-support.exp +set MIFLAGS "-i=mi" + +gdb_exit +if [mi_gdb_start] { + continue +} + +set testfile gdb792 +set srcfile "$testfile.cc" +set binfile $objdir/$subdir/$testfile + +if [get_compiler_info ${binfile} "c++"] { + return -1; +} + +if {[gdb_compile $srcdir/$subdir/$srcfile $binfile executable {debug c++}] != ""} { + gdb_suppress_entire_file "Testcase compile failed, so all test in this file will automatically fail." +} + +# Test that children of classes are properly reported + +# Run to main +mi_run_to_main + +mi_gdb_test "-var-create - * a" \ + "(&\".*\"\r\n)*\\^done,name=\"var1\",numchild=\"3\",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\",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_gdb_exit +return 0 |