This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch/rfa] Test java's "break main"


Ping!

--- Begin Message --- [with patch]

Hello,

This tests the ability to set a breakpoint on "main" in Java. It tries three alternatives:

(gdb) break main
(gdb) break jmain.main
(gdb) break jmain.main(...)

at present only the third works. The others are KFAILed as they involve changes to both gcj and gdb.

comments, ok?
Andrew

2004-02-24  Andrew Cagney  <cagney@redhat.com>

	Test PR java/1567 and PR java/1565.
	* gdb.java/jmain.exp: New file.
	* gdb.java/jmain.java: New file.

Index: gdb.java/jmain.exp
===================================================================
RCS file: gdb.java/jmain.exp
diff -N gdb.java/jmain.exp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gdb.java/jmain.exp	24 Feb 2004 17:09:47 -0000
@@ -0,0 +1,70 @@
+# Copyright 2000, 2004 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@gnu.org
+
+# This file was based on jmisc.exp which in turn was written by
+# Anthony Green. (green@redhat.com)
+
+
+if $tracelevel then {
+	strace $tracelevel
+}
+
+load_lib "java.exp"
+
+set testfile "jmain"
+set srcfile ${srcdir}/$subdir/${testfile}.java
+set binfile ${objdir}/${subdir}/${testfile}
+if  { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } {
+    untested "Couldn't compile ${srcfile}"
+    return -1
+}
+
+set prms_id 0
+set bug_id 0
+
+# Start with a fresh gdb.
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+gdb_test "set print sevenbit-strings" ".*"
+
+# Check that plain old "main" works.  The load should both set the
+# language to java and (since --main=jmain), some how set the scope to
+# jmain's main.
+
+# Where the breakpoint should always land
+
+set bpmain "Breakpoint .* file .*jmain.java, line 6\."
+
+gdb_load "${binfile}"
+setup_kfail *-*-* java/1567
+gdb_test "break main" "${bpmain}"
+
+# Check that an unqualified "main" works.
+
+
+gdb_load "${binfile}"
+setup_kfail *-*-* java/1565
+gdb_test "break jmain.main" "${bpmain}"
+
+# Check that a fully qualified "main" works.
+gdb_load "${binfile}"
+gdb_test "break \'${testfile}.main(java.lang.String\[\])\'" "${bpmain}"
Index: gdb.java/jmain.java
===================================================================
RCS file: gdb.java/jmain.java
diff -N gdb.java/jmain.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gdb.java/jmain.java	24 Feb 2004 17:09:47 -0000
@@ -0,0 +1,7 @@
+public class jmain
+{
+  public static void main (String[] args)
+  {
+    return;
+  }
+}

--- End Message ---

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]