[patch] Expand psymtabs when needed - testcase

Carlos Eduardo Seo
2007-12-04T21:41:15Z

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is a testcase for a patch I committed here:

http://sourceware.org/ml/gdb-patches/2007-10/msg00574.html

I used a C source that Jim Blandy posted in our discussions by that time
in this testcase:

http://sourceware.org/ml/gdb/2007-09/msg00252.html

Is this OK?

Thanks and regards,

- --
Carlos Eduardo Seo
Software Engineer
IBM Linux Technology Center
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHVclpqvq7Aov/qQARAtKrAJ9Jo1yc8eG9aejJLfZWCeSdrqXGGACghoSh
haFImQu+wbmBnzF8wp4IN6U=
=cAIl
-----END PGP SIGNATURE-----

[-- Attachment #2: expand-psymtabs-testcase.diff --]
[-- Type: text/x-patch, Size: 2786 bytes --]

2007-12-04 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
Jim Blandy <jimb@codesourcery.com>

* testsuite/gdb.base/expand-psymtabs.c: New testcase
source file.
* testsuite/gdb.base/expand-psymtabs.exp: New testcase
expect file.

Index: src/gdb/testsuite/gdb.base/expand-psymtabs.c
===================================================================
--- /dev/null
+++ src/gdb/testsuite/gdb.base/expand-psymtabs.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+
+extern void foo (void);
+
+#ifdef FIRST
+int
+main (int argc, char **argv)
+ {
+ puts ("main");
+ foo ();
+ puts ("main again");
+ return 0;
+ }
+
+#else
+void
+foo (void)
+ {
+ puts ("foo");
+ }
+
+#endif
Index: src/gdb/testsuite/gdb.base/expand-psymtabs.exp
===================================================================
--- /dev/null
+++ src/gdb/testsuite/gdb.base/expand-psymtabs.exp
@@ -0,0 +1,62 @@
+# Copyright 2007 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.
+#
+# This file is part of the gdb testsuite.
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+# Test expanding partial symtabs when needed.
+
+set testfile expand-psymtabs
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+set binfile_1 ${objdir}/${subdir}/${testfile}_1.o
+set binfile_2 ${objdir}/${subdir}/${testfile}_2.o
+
+
+# What compiler are we using?
+#
+if [get_compiler_info ${binfile}] {
+ return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_1}" object {debug nowarnings additional_flags=-DFIRST} ] != "" } {
+ untested expand-psymtabs.exp
+ return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_2}" object {debug nowarnings}] != "" } {
+ untested expand-psymtabs.exp
+ return -1
+}
+
+if { [gdb_compile "${binfile_1} ${binfile_2}" "${binfile}" executable {debug nowarnings}] != "" } {
+ untested expand-psymtabs.exp
+ return -1
+}
+
+
+# use this to debug:
+log_user 1
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+gdb_test "break 20" "Breakpoint.*" "Expand psymtabs"