aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.java/jprint.exp12
-rw-r--r--gdb/testsuite/gdb.java/jprint.java9
3 files changed, 19 insertions, 9 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index b4c0a4b..1896e1e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2012-01-19 Pedro Alves <palves@redhat.com>
+
+ * gdb.java/jprint.exp: Don't rely on inferior output, but instead
+ look at the funtions' returns.
+ * gdb.java/jprint.java (jvclass.addprint, jprint.print(int))
+ (jprint.print(int, int)): Change return type to int. Adjust.
+
2012-01-18 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/9538
diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp
index 97660e6..131dd47 100644
--- a/gdb/testsuite/gdb.java/jprint.exp
+++ b/gdb/testsuite/gdb.java/jprint.exp
@@ -49,16 +49,16 @@ if [set_lang_java] then {
gdb_breakpoint "${function}void" { allow-pending }
gdb_continue_to_breakpoint $function
- gdb_test "p jvclass.addprint(4,5,6)" "sum is 15\r\n.*" "unambiguous static call"
+ gdb_test "p jvclass.addprint(4,5,6)" " = 15" "unambiguous static call"
gdb_test "next" ""
gdb_test "next" ""
- gdb_test "p x.print(44)" "x is 44\r\n.*" "single argument print call"
- gdb_test "p x.print(22,33)" "y is 33\r\n.*" "double argument print call"
- gdb_test "call x.dothat(55)" "new value is 58\r\n.*= 62.*" "virtual fn call"
- gdb_test "p x.addprint(1,2,3)" "sum is 6\r\n.*" "inherited static call"
- gdb_test "call x.addk(44)" "adding k gives 121\r\n.*= 121.*" "inherited virtual fn call"
+ gdb_test "p x.print(44)" " = 44" "single argument call"
+ gdb_test "p x.print(22,33)" " = 33" "double argument call"
+ gdb_test "p x.dothat(55)" " = 62.*" "virtual fn call"
+ gdb_test "p x.addprint(1,2,3)" "= 6" "inherited static call"
+ gdb_test "p x.addk(44)" " = 121" "inherited virtual fn call"
# Regression test for a crasher.
# GCC does not output location information for static class members,
diff --git a/gdb/testsuite/gdb.java/jprint.java b/gdb/testsuite/gdb.java/jprint.java
index 5a4a424..3d55dc3 100644
--- a/gdb/testsuite/gdb.java/jprint.java
+++ b/gdb/testsuite/gdb.java/jprint.java
@@ -27,9 +27,10 @@ class jvclass {
static {
k = 77;
}
- public static void addprint (int x, int y, int z) {
+ public static int addprint (int x, int y, int z) {
int sum = x + y + z;
System.out.println ("sum is " + sum);
+ return sum;
}
public int addk (int x) {
@@ -48,11 +49,13 @@ public class jprint extends jvclass {
System.out.println ("new value is " + y);
return y + 4;
}
- public static void print (int x) {
+ public static int print (int x) {
System.out.println("x is " + x);
+ return x;
}
- public static void print (int x, int y) {
+ public static int print (int x, int y) {
System.out.println("y is " + y);
+ return y;
}
public static void main(String[] args) {
jprint x = new jprint ();