6962419: TEST_BUG: java_io tests fails in samevm mode
Reviewed-by: ohair, sherman
diff --git a/test/java/io/RandomAccessFile/EOF.java b/test/java/io/RandomAccessFile/EOF.java
index aa65fd3..50b48de 100644
--- a/test/java/io/RandomAccessFile/EOF.java
+++ b/test/java/io/RandomAccessFile/EOF.java
@@ -35,12 +35,16 @@
int n;
String dir = System.getProperty("test.src", ".");
RandomAccessFile raf = new RandomAccessFile(new File(dir, "EOF.java"), "r");
- for (;;) {
- n = raf.read(buf, 0, buf.length);
- if (n <= 0) break;
+ try {
+ for (;;) {
+ n = raf.read(buf, 0, buf.length);
+ if (n <= 0) break;
+ }
+ if (n != -1)
+ throw new RuntimeException("Expected -1 for EOF, got " + n);
+ } finally {
+ raf.close();
}
- if (n != -1)
- throw new RuntimeException("Expected -1 for EOF, got " + n);
}
}
diff --git a/test/java/io/RandomAccessFile/ParameterCheck.java b/test/java/io/RandomAccessFile/ParameterCheck.java
index 97319fc..e483929 100644
--- a/test/java/io/RandomAccessFile/ParameterCheck.java
+++ b/test/java/io/RandomAccessFile/ParameterCheck.java
@@ -44,6 +44,7 @@
private static void doTest(String method) throws Exception {
File fn = new File("x.ParameterCheck");
+ RandomAccessFile raf = null;
try {
byte b[] = new byte[32];
@@ -55,7 +56,7 @@
fout.write(i);
}
fout.close();
- RandomAccessFile raf = new RandomAccessFile(fn , "rw");
+ raf = new RandomAccessFile(fn , "rw");
System.err.println("-----------------------------" +
"-----------------------------");
@@ -125,6 +126,8 @@
System.err.println("-----------------------------" +
"-----------------------------");
} finally {
+ if (raf != null)
+ raf.close();
fn.delete();
}
diff --git a/test/java/io/RandomAccessFile/ReadLine.java b/test/java/io/RandomAccessFile/ReadLine.java
index 879926f..1d63ce0 100644
--- a/test/java/io/RandomAccessFile/ReadLine.java
+++ b/test/java/io/RandomAccessFile/ReadLine.java
@@ -33,26 +33,30 @@
public static void main(String args[]) throws Exception {
File fn = new File("x.ReadLine");
RandomAccessFile raf = new RandomAccessFile(fn,"rw");
- String line;
- int ctr = 1;
- String expected;
+ try {
+ String line;
+ int ctr = 1;
+ String expected;
- raf.writeBytes
- ("ln1\rln2\r\nln3\nln4\rln5\r\nln6\n\rln8\r\rln10\n\nln12\r\r\nln14");
- raf.seek(0);
+ raf.writeBytes
+ ("ln1\rln2\r\nln3\nln4\rln5\r\nln6\n\rln8\r\rln10\n\nln12\r\r\nln14");
+ raf.seek(0);
- while ((line=raf.readLine()) != null) {
- if ((ctr == 7) || (ctr == 9) ||
- (ctr == 11) || (ctr == 13)) {
- expected = "";
- } else {
- expected = "ln" + ctr;
+ while ((line=raf.readLine()) != null) {
+ if ((ctr == 7) || (ctr == 9) ||
+ (ctr == 11) || (ctr == 13)) {
+ expected = "";
+ } else {
+ expected = "ln" + ctr;
+ }
+ if (!line.equals(expected)) {
+ throw new Exception("Expected \"" + expected + "\"" +
+ ", read \"" + line + "\"");
+ }
+ ctr++;
}
- if (!line.equals(expected)) {
- throw new Exception("Expected \"" + expected + "\"" +
- ", read \"" + line + "\"");
- }
- ctr++;
+ } finally {
+ raf.close();
}
System.err.println("Successfully completed test!");
}
diff --git a/test/java/io/RandomAccessFile/Seek.java b/test/java/io/RandomAccessFile/Seek.java
index a3f15cd..2a505e5 100644
--- a/test/java/io/RandomAccessFile/Seek.java
+++ b/test/java/io/RandomAccessFile/Seek.java
@@ -44,6 +44,8 @@
throw new Exception
("Should have thrown an IOException when seek offset is < 0");
} catch (IOException e) {
+ } finally {
+ raf.close();
}
}
}
diff --git a/test/java/io/RandomAccessFile/WriteBytesChars.java b/test/java/io/RandomAccessFile/WriteBytesChars.java
index 6803f2b..bbb9494 100644
--- a/test/java/io/RandomAccessFile/WriteBytesChars.java
+++ b/test/java/io/RandomAccessFile/WriteBytesChars.java
@@ -37,8 +37,8 @@
byte[] b = new byte[80];
File fn = new File("x.WriteBytesChars");
- try{
- RandomAccessFile raf = new RandomAccessFile(fn , "rw");;
+ RandomAccessFile raf = new RandomAccessFile(fn , "rw");;
+ try {
for (int i = 0; i < 80; i++) {
buf[i] = 'a';
}
@@ -71,6 +71,7 @@
RuntimeException("RandomAccessFile.writeChars, wrong result");
}
} finally {
+ raf.close();
fn.delete();
}
}
diff --git a/test/java/io/RandomAccessFile/WriteUTF.java b/test/java/io/RandomAccessFile/WriteUTF.java
index ed83127..c3d13e0 100644
--- a/test/java/io/RandomAccessFile/WriteUTF.java
+++ b/test/java/io/RandomAccessFile/WriteUTF.java
@@ -42,8 +42,8 @@
s += s;
System.err.println("String length " + s.length());
+ f = new RandomAccessFile(fn, "rw");
try {
- f = new RandomAccessFile(fn, "rw");
try {
f.writeUTF(s);
}
@@ -53,6 +53,7 @@
throw new RuntimeException("UTFDataFormatException not thrown");
}
finally {
+ f.close();
fn.delete();
}
diff --git a/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java b/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java
index 9c4cf04..0e8723e 100644
--- a/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java
+++ b/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java
@@ -96,14 +96,18 @@
public static void main(String[] args) throws Exception {
RandomAccessFile raf = new RandomAccessFile("input.txt" , "rw");
- int length = (int)raf.length();
+ try {
+ int length = (int)raf.length();
- doTest(raf , 0 , 2*length);
- doTest(raf , 0 , length);
- doTest(raf , 0 , length/2);
- doTest(raf , length/2 , -2);
- doTest(raf , length , 0);
- doTest(raf , 0 , -1);
+ doTest(raf , 0 , 2*length);
+ doTest(raf , 0 , length);
+ doTest(raf , 0 , length/2);
+ doTest(raf , length/2 , -2);
+ doTest(raf , length , 0);
+ doTest(raf , 0 , -1);
+ } finally{
+ raf.close();
+ }
}