1 # Copyright
2004 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
2 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program; if not
, write to the Free Software
15 # Foundation
, Inc.
, 59 Temple Place
- Suite
330, Boston
, MA
02111-1307, USA.
17 # This file was written by Jeff Johnston.
(jjohnstn@redhat.com
)
27 set srcfile $
{srcdir
}/$subdir
/$
{testfile
}.java
28 set binfile $
{objdir
}/$
{subdir
}/$
{testfile
}
29 if { [compile_java_from_source $
{srcfile
} $
{binfile
} "-g"] != "" } {
30 untested
"Couldn't compile ${srcfile}"
34 #
Set the current language to java. This counts as a test.
If it
35 # fails
, then we skip the other tests.
37 proc set_lang_java
{} {
39 global binfile objdir subdir
41 verbose
"loading file '$binfile'"
44 send_gdb
"set language java\n"
46 -re
".*$gdb_prompt $" {}
47 timeout
{ fail
"set language java (timeout)" ; return 0 }
50 return [gdb_test
"show language" ".* source language is \"java\".*" \
51 "set language to \"java\""]
57 # Start with a fresh gdb.
61 gdb_reinitialize_dir $srcdir
/$subdir
63 gdb_test
"set print sevenbit-strings" ".*"
65 if ![set_lang_java
] then {
66 # Ref PR gdb
:java
/1565. Don
't use the simpler "break jmisc.main".
67 # As of 2004-02-24 it wasn't working and is being tested separatly.
68 runto
"\'${testfile}.main(java.lang.String\[\])\'"
70 gdb_test
"p jvclass.addprint(4,5,6)" "sum is 15\r\n.*" "unambiguous static call"
75 gdb_test
"p x.print(44)" "x is 44\r\n.*" "single argument print call"
76 gdb_test
"p x.print(22,33)" "y is 33\r\n.*" "double argument print call"
77 gdb_test
"call x.dothat(55)" "new value is 58\r\n.*= 62.*" "virtual fn call"
78 gdb_test
"p x.addprint(1,2,3)" "sum is 6\r\n.*" "inherited static call"
79 gdb_test
"call x.addk(44)" "adding k gives 121\r\n.*= 121.*" "inherited virtual fn call"