6962419: TEST_BUG: java_io tests fails in samevm mode
Reviewed-by: ohair, sherman
--- a/jdk/test/ProblemList.txt Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/ProblemList.txt Sat Jun 19 15:17:36 2010 +0100
@@ -187,73 +187,6 @@
############################################################################
-# jdk_io
-
-# Many of these tests have a tendency to leave input streams open, which
-# will cause following tests to be failures when used in samevm mode.
-
-# Should be othervm, or corrected for samevm, fails with samevm:
-java/io/BufferedReader/BigMark.java generic-all
-java/io/BufferedReader/ReadLineSync.java generic-all
-
-# Windows samevm issues? triggers other tests to fail, missing close() on f.txt?
-java/io/DataInputStream/OpsAfterClose.java generic-all
-
-# Windows 32bit samevm failure: RuntimeException: File.getFreeSpace() failed
-java/io/File/MaxPathLength.java generic-all
-
-# Should be othervm, or corrected for samevm, fails with samevm:
-java/io/File/DeleteOnExit.java generic-all
-java/io/File/DeleteOnExitLong.java generic-all
-java/io/File/DeleteOnExitNPE.java generic-all
-java/io/File/IsHidden.java generic-all
-java/io/FileDescriptor/FileChannelFDTest.java generic-all
-java/io/FileDescriptor/Finalize.java generic-all
-java/io/FileInputStream/FinalizeShdCallClose.java generic-all
-
-# Known to cause samevm issues on windows, other tests fail, missing close()?
-java/io/FileInputStream/OpsAfterClose.java generic-all
-
-# Should be othervm, or corrected for samevm, fails with samevm:
-java/io/FileOutputStream/FinalizeShdCallClose.java generic-all
-
-# Known to cause samevm issues on windows, other tests fail, missing close()?
-java/io/FileOutputStream/OpsAfterClose.java generic-all
-
-# Windows samevm issues? triggers other tests to fail, missing close() on f.txt?
-java/io/InputStream/OpsAfterClose.java generic-all
-
-# Missing close() on x.ReadBounds file? Windows samevm issues
-java/io/InputStream/ReadParams.java generic-all
-
-# Known to cause samevm issues on windows, other tests fail, missing close()?
-java/io/InputStreamReader/GrowAfterEOF.java generic-all
-
-# Should be othervm, or corrected for samevm, fails with samevm:
-java/io/ObjectInputStream/ResolveProxyClass.java generic-all
-
-# Not doing a close() on x.ParameterCheck file? windows samevm cascade error
-java/io/RandomAccessFile/ParameterCheck.java generic-all
-
-# Not doing a close on x.ReadLine file? windows cascade samevm problems
-java/io/RandomAccessFile/ReadLine.java generic-all
-
-# Not doing close on file input x.WriteByteChars, windows samevm problems
-java/io/RandomAccessFile/WriteBytesChars.java generic-all
-
-# Not doing close on file input x.WriteUTF, windows samevm problems
-java/io/RandomAccessFile/WriteUTF.java generic-all
-
-# Possibly, not doing a close() on input.txt, windows samevm issues.
-java/io/RandomAccessFile/skipBytes/SkipBytes.java generic-all
-java/io/readBytes/MemoryLeak.java generic-all
-java/io/readBytes/ReadBytesBounds.java generic-all
-
-# Possibly not doing a close() on input.txt, windows samevm issues.
-java/io/StreamTokenizer/Comment.java generic-all
-
-############################################################################
-
# jdk_lang
# Times out on solaris 10 sparc
@@ -593,10 +526,6 @@
com/sun/nio/sctp/SctpChannel/Send.java generic-all
com/sun/nio/sctp/SctpChannel/Shutdown.java generic-all
-# Fails on Windows 2000, Can't delete test directory .\x.SetLastModified.dir
-# at SetLastModified.main(SetLastModified.java:107)
-java/io/File/SetLastModified.java generic-all
-
# Fails on Windows 2000, times out
java/nio/channels/FileChannel/Transfer.java generic-all
--- a/jdk/test/java/io/BufferedReader/BigMark.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/BufferedReader/BigMark.java Sat Jun 19 15:17:36 2010 +0100
@@ -25,6 +25,8 @@
@summary BufferedReader should throw an OutOfMemoryError when the
read-ahead limit is very large
@bug 6350733
+ @build BigMark
+ @run main/othervm BigMark
*/
import java.io.*;
--- a/jdk/test/java/io/BufferedReader/ReadLineSync.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/BufferedReader/ReadLineSync.java Sat Jun 19 15:17:36 2010 +0100
@@ -46,16 +46,20 @@
BufferedReader reader = new BufferedReader(
new FileReader(f));
- int threadCount = 2;
+ try {
+ int threadCount = 2;
- ExecutorService es = Executors.newFixedThreadPool(threadCount);
+ ExecutorService es = Executors.newFixedThreadPool(threadCount);
- for (int i=0; i < threadCount; i++)
- es.execute(new BufferedReaderConsumer(reader));
+ for (int i=0; i < threadCount; i++)
+ es.execute(new BufferedReaderConsumer(reader));
- // Wait for the tasks to complete
- es.shutdown();
- while (!es.awaitTermination(60, TimeUnit.SECONDS));
+ // Wait for the tasks to complete
+ es.shutdown();
+ while (!es.awaitTermination(60, TimeUnit.SECONDS));
+ } finally {
+ reader.close();
+ }
}
static class BufferedReaderConsumer extends Thread {
--- a/jdk/test/java/io/DataInputStream/OpsAfterClose.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/DataInputStream/OpsAfterClose.java Sat Jun 19 15:17:36 2010 +0100
@@ -244,13 +244,19 @@
f.deleteOnExit();
FileInputStream fis = new FileInputStream(f);
-
- DataInputStream dis = new DataInputStream(
- new FileInputStream(f));
- if (testDataInputStream(dis)) {
- failed = true;
+ try {
+ DataInputStream dis = new DataInputStream(
+ new FileInputStream(f));
+ try {
+ if (testDataInputStream(dis)) {
+ failed = true;
+ }
+ } finally {
+ dis.close();
+ }
+ } finally {
+ fis.close();
}
-
}
private static boolean testDataInputStream(DataInputStream is)
--- a/jdk/test/java/io/DataInputStream/ReadFully.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/DataInputStream/ReadFully.java Sat Jun 19 15:17:36 2010 +0100
@@ -43,6 +43,7 @@
} catch (IndexOutOfBoundsException ie) {
caughtException = true;
} finally {
+ dis.close();
if (!caughtException)
throw new RuntimeException("Test failed");
}
--- a/jdk/test/java/io/File/DeleteOnExit.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/File/DeleteOnExit.java Sat Jun 19 15:17:36 2010 +0100
@@ -48,7 +48,9 @@
public static void main (String args[]) throws Exception{
if (args.length == 0) {
- Runtime.getRuntime().exec(java + " DeleteOnExit -test").waitFor();
+ String cmd = java + " -classpath " + System.getProperty("test.classes")
+ + " DeleteOnExit -test";
+ Runtime.getRuntime().exec(cmd).waitFor();
if (file1.exists() || file2.exists() || file3.exists() ||
dir.exists() || file4.exists() || file5.exists() ||
file6.exists() || file7.exists()) {
--- a/jdk/test/java/io/File/DeleteOnExitNPE.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/File/DeleteOnExitNPE.java Sat Jun 19 15:17:36 2010 +0100
@@ -45,7 +45,8 @@
public static void runTest() throws Exception {
String cmd = System.getProperty("java.home") + File.separator +
- "bin" + File.separator + "java";
+ "bin" + File.separator + "java" +
+ " -classpath " + System.getProperty("test.classes");
Process process = Runtime.getRuntime().exec(cmd + " DeleteOnExitNPE -test");
BufferedReader isReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader esReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
--- a/jdk/test/java/io/File/IsHidden.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/File/IsHidden.java Sat Jun 19 15:17:36 2010 +0100
@@ -27,7 +27,7 @@
*/
import java.io.*;
-
+import java.nio.file.attribute.DosFileAttributeView;
public class IsHidden {
@@ -41,15 +41,20 @@
System.err.println(path + " ==> " + x);
}
+ private static void setHidden(File f, boolean value) throws IOException {
+ f.toPath().getFileAttributeView(DosFileAttributeView.class).setHidden(value);
+ }
+
private static void testWin32() throws Exception {
File f = new File(dir, "test");
f.deleteOnExit();
f.createNewFile();
- String name = f.getCanonicalPath();
- Process p = Runtime.getRuntime().exec("cmd.exe /c attrib +H " + name);
- p.waitFor();
- ck(name, true);
-
+ setHidden(f, true);
+ try {
+ ck(f.getPath(), true);
+ } finally {
+ setHidden(f, false);
+ }
ck(".foo", false);
ck("foo", false);
}
--- a/jdk/test/java/io/FileInputStream/LeadingSlash.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/FileInputStream/LeadingSlash.java Sat Jun 19 15:17:36 2010 +0100
@@ -36,8 +36,8 @@
File file = null;
try {
file = File.createTempFile("bug", "4487368");
- new FileInputStream("\\" + file.getPath());
- new FileOutputStream("\\" + file.getPath());
+ new FileInputStream("\\" + file.getPath()).close();
+ new FileOutputStream("\\" + file.getPath()).close();
} finally {
if (file != null)
file.delete();
--- a/jdk/test/java/io/InputStream/OpsAfterClose.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/InputStream/OpsAfterClose.java Sat Jun 19 15:17:36 2010 +0100
@@ -125,23 +125,35 @@
f.deleteOnExit();
FileInputStream fis = new FileInputStream(f);
- if (testInputStream(fis)) {
- failed = true;
- }
- if (testFileInputStream(fis)) {
- failed = true;
+ try {
+ if (testInputStream(fis)) {
+ failed = true;
+ }
+ if (testFileInputStream(fis)) {
+ failed = true;
+ }
+ } finally {
+ fis.close();
}
BufferedInputStream bs = new BufferedInputStream(
new FileInputStream(f));
- if (testInputStream(bs)) {
- failed = true;
+ try {
+ if (testInputStream(bs)) {
+ failed = true;
+ }
+ } finally {
+ bs.close();
}
DataInputStream dis = new DataInputStream(
new FileInputStream(f));
- if (testInputStream(dis)) {
- failed = true;
+ try {
+ if (testInputStream(dis)) {
+ failed = true;
+ }
+ } finally {
+ dis.close();
}
PushbackInputStream pbis = new PushbackInputStream(
--- a/jdk/test/java/io/InputStream/ReadParams.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/InputStream/ReadParams.java Sat Jun 19 15:17:36 2010 +0100
@@ -137,6 +137,7 @@
oos.writeInt(12345);
oos.writeObject("Today");
oos.writeObject(new Integer(32));
+ oos.close();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fn));
doTest(ois);
doTest1(ois);
--- a/jdk/test/java/io/InputStreamReader/GrowAfterEOF.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/InputStreamReader/GrowAfterEOF.java Sat Jun 19 15:17:36 2010 +0100
@@ -33,29 +33,36 @@
public static void main(String[] args) throws Exception {
File input = new File(".", "TestEOFInput.txt");
RandomAccessFile rf = new RandomAccessFile(input, "rw");
- BufferedReader r = new BufferedReader
- (new InputStreamReader(new FileInputStream(input)));
+ try {
+ BufferedReader r = new BufferedReader
+ (new InputStreamReader(new FileInputStream(input)));
+ try {
+ // write something
+ rf.writeBytes("a line");
- // write something
- rf.writeBytes("a line");
+ // read till the end of file
+ while (r.readLine() != null);
- // read till the end of file
- while (r.readLine() != null);
+ // append to the end of the file
+ rf.seek(rf.length());
+ rf.writeBytes("new line");
- // append to the end of the file
- rf.seek(rf.length());
- rf.writeBytes("new line");
-
- // now try to read again
- boolean readMore = false;
- while (r.readLine() != null) {
- readMore = true;
- }
- if (!readMore) {
- input.delete();
- throw new Exception("Failed test: unable to read!");
- } else {
- input.delete();
+ // now try to read again
+ boolean readMore = false;
+ while (r.readLine() != null) {
+ readMore = true;
+ }
+ if (!readMore) {
+ input.delete();
+ throw new Exception("Failed test: unable to read!");
+ } else {
+ input.delete();
+ }
+ } finally {
+ r.close();
+ }
+ } finally {
+ rf.close();
}
}
}
--- a/jdk/test/java/io/ObjectInputStream/ResolveProxyClass.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/ObjectInputStream/ResolveProxyClass.java Sat Jun 19 15:17:36 2010 +0100
@@ -79,7 +79,7 @@
* code, and it should be the first loader on the stack when
* ObjectInputStream.resolveProxyClass gets executed.
*/
- ClassLoader expectedLoader = ClassLoader.getSystemClassLoader();
+ ClassLoader expectedLoader = ResolveProxyClass.class.getClassLoader();
TestObjectInputStream in = new TestObjectInputStream();
Class proxyClass = in.resolveProxyClass(
--- a/jdk/test/java/io/RandomAccessFile/EOF.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/EOF.java Sat Jun 19 15:17:36 2010 +0100
@@ -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);
}
}
--- a/jdk/test/java/io/RandomAccessFile/ParameterCheck.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/ParameterCheck.java Sat Jun 19 15:17:36 2010 +0100
@@ -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();
}
--- a/jdk/test/java/io/RandomAccessFile/ReadLine.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/ReadLine.java Sat Jun 19 15:17:36 2010 +0100
@@ -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!");
}
--- a/jdk/test/java/io/RandomAccessFile/Seek.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/Seek.java Sat Jun 19 15:17:36 2010 +0100
@@ -44,6 +44,8 @@
throw new Exception
("Should have thrown an IOException when seek offset is < 0");
} catch (IOException e) {
+ } finally {
+ raf.close();
}
}
}
--- a/jdk/test/java/io/RandomAccessFile/WriteBytesChars.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/WriteBytesChars.java Sat Jun 19 15:17:36 2010 +0100
@@ -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();
}
}
--- a/jdk/test/java/io/RandomAccessFile/WriteUTF.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/WriteUTF.java Sat Jun 19 15:17:36 2010 +0100
@@ -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();
}
--- a/jdk/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/RandomAccessFile/skipBytes/SkipBytes.java Sat Jun 19 15:17:36 2010 +0100
@@ -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();
+ }
}
--- a/jdk/test/java/io/Reader/Skip.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/Reader/Skip.java Sat Jun 19 15:17:36 2010 +0100
@@ -35,12 +35,16 @@
File f = new File(System.getProperty("test.src", "."),
"SkipInput.txt");
FileReader fr = new FileReader(f);
- long nchars = 8200;
- long actual = fr.skip(nchars);
+ try {
+ long nchars = 8200;
+ long actual = fr.skip(nchars);
- if (actual > nchars) {
- throw new Exception
- ("Should skip " + nchars + ", but skipped " +actual+" chars");
+ if (actual > nchars) {
+ throw new Exception
+ ("Should skip " + nchars + ", but skipped " +actual+" chars");
+ }
+ } finally {
+ fr.close();
}
}
}
--- a/jdk/test/java/io/Reader/SkipNegative.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/Reader/SkipNegative.java Sat Jun 19 15:17:36 2010 +0100
@@ -41,6 +41,8 @@
} catch(IllegalArgumentException e){
// Negative argument caught
return;
+ } finally {
+ fr.close();
}
throw new Exception("Skip should not accept negative values");
}
--- a/jdk/test/java/io/StreamTokenizer/Comment.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/StreamTokenizer/Comment.java Sat Jun 19 15:17:36 2010 +0100
@@ -41,40 +41,45 @@
int slashStarComment = 4;
for (int i = 0; i < 8 ; i++) {
- StreamTokenizer st = new StreamTokenizer(new FileReader(f));
-
- /* decide the state of this run */
- boolean slashCommentFlag = ((i & slashIsCommentStart) != 0);
- boolean slashSlashCommentFlag = ((i & slashSlashComment) != 0);
- boolean slashStarCommentFlag = ((i & slashStarComment) != 0);
+ FileReader reader = new FileReader(f);
+ try {
+ StreamTokenizer st = new StreamTokenizer(reader);
- /* set the initial state of the tokenizer */
- if (!slashCommentFlag) {
- st.ordinaryChar('/');
- }
- st.slashSlashComments(slashSlashCommentFlag);
- st.slashStarComments(slashStarCommentFlag);
+ /* decide the state of this run */
+ boolean slashCommentFlag = ((i & slashIsCommentStart) != 0);
+ boolean slashSlashCommentFlag = ((i & slashSlashComment) != 0);
+ boolean slashStarCommentFlag = ((i & slashStarComment) != 0);
+
+ /* set the initial state of the tokenizer */
+ if (!slashCommentFlag) {
+ st.ordinaryChar('/');
+ }
+ st.slashSlashComments(slashSlashCommentFlag);
+ st.slashStarComments(slashStarCommentFlag);
- /* now go throgh the input file */
- while(st.nextToken() != StreamTokenizer.TT_EOF)
- {
- String token = st.sval;
- if (token == null) {
- continue;
- } else {
- if ((token.compareTo("Error1") == 0) && slashStarCommentFlag) {
- throw new Exception("Failed to pass one line C comments!");
- }
- if ((token.compareTo("Error2") == 0) && slashStarCommentFlag) {
- throw new Exception("Failed to pass multi line C comments!");
- }
- if ((token.compareTo("Error3") == 0) && slashSlashCommentFlag) {
- throw new Exception("Failed to pass C++ comments!");
- }
- if ((token.compareTo("Error4") == 0) && slashCommentFlag) {
- throw new Exception("Failed to pass / comments!");
+ /* now go throgh the input file */
+ while(st.nextToken() != StreamTokenizer.TT_EOF)
+ {
+ String token = st.sval;
+ if (token == null) {
+ continue;
+ } else {
+ if ((token.compareTo("Error1") == 0) && slashStarCommentFlag) {
+ throw new Exception("Failed to pass one line C comments!");
+ }
+ if ((token.compareTo("Error2") == 0) && slashStarCommentFlag) {
+ throw new Exception("Failed to pass multi line C comments!");
+ }
+ if ((token.compareTo("Error3") == 0) && slashSlashCommentFlag) {
+ throw new Exception("Failed to pass C++ comments!");
+ }
+ if ((token.compareTo("Error4") == 0) && slashCommentFlag) {
+ throw new Exception("Failed to pass / comments!");
+ }
}
}
+ } finally {
+ reader.close();
}
}
}
--- a/jdk/test/java/io/readBytes/ReadBytesBounds.java Fri Jun 18 20:59:13 2010 +0100
+++ b/jdk/test/java/io/readBytes/ReadBytesBounds.java Sat Jun 19 15:17:36 2010 +0100
@@ -57,24 +57,28 @@
}
public static void main(String argv[]) throws Throwable {
- byte b[] = new byte[32];
- testRead(-1, -1, false);
- testRead(-1, 0, false);
- testRead( 0, -1, false);
- testRead( 0, 33, false);
- testRead(33, 0, false);
- testRead(33, 4, false);
- testRead( 0, 32, true);
- testRead(32, 0, true);
- testRead(32, 4, false);
- testRead( 4, 16, true);
- testRead( 1, 31, true);
- testRead( 0, 0, true);
- testRead(31, Integer.MAX_VALUE, false);
- testRead( 0, Integer.MAX_VALUE, false);
- testRead(-1, Integer.MAX_VALUE, false);
- testRead(-4, Integer.MIN_VALUE, false);
- testRead( 0, Integer.MIN_VALUE, false);
+ try {
+ testRead(-1, -1, false);
+ testRead(-1, 0, false);
+ testRead( 0, -1, false);
+ testRead( 0, 33, false);
+ testRead(33, 0, false);
+ testRead(33, 4, false);
+ testRead( 0, 32, true);
+ testRead(32, 0, true);
+ testRead(32, 4, false);
+ testRead( 4, 16, true);
+ testRead( 1, 31, true);
+ testRead( 0, 0, true);
+ testRead(31, Integer.MAX_VALUE, false);
+ testRead( 0, Integer.MAX_VALUE, false);
+ testRead(-1, Integer.MAX_VALUE, false);
+ testRead(-4, Integer.MIN_VALUE, false);
+ testRead( 0, Integer.MIN_VALUE, false);
+ } finally {
+ fis.close();
+ raf.close();
+ }
}
static void testRead(int off, int len, boolean expected) throws Throwable {