This support routine from the commons-io project test code assumed that FileReader.read(byte[]) would always read the entire file. There's no such guarantee, and some tests were failing on GNU Classpath based VMs because of this.
Thanks, AG --- src/test/org/apache/commons/io/testtools/FileBasedTestCase.java~ 2006-07-13 23:44:13.000000000 -0700 +++ src/test/org/apache/commons/io/testtools/FileBasedTestCase.java 2006-07-13 23:44:20.000000000 -0700 @@ -167,18 +171,22 @@ throws IOException { Reader ir = new java.io.FileReader( file ); - try { - char[] c1 = new char[ c0.length ]; - int numRead = ir.read( c1 ); - assertTrue( "Different number of bytes", numRead == c0.length ); - for( int i = 0; - i < numRead; - assertTrue( "Byte " + i + " differs (" + c0[ i ] + " != " + c1[ i ] + ")", - c0[ i ] == c1[ i ] ), i++ - ); - } finally { - ir.close(); - } + int count = 0, numRead = 0; + char[] c1 = new char[ c0.length ]; + try { + while (count < c0.length) + { + numRead = ir.read( c1, count, c0.length); + for( int i = count; + i < count+numRead; + assertTrue( "Byte " + i + " differs (" + c0[ i ] + " != " + c1[ i ] + ")", + c0[ i ] == c1[ i ] ), i++ + ); + count += numRead; + } + } finally { + ir.close(); + } } protected void checkWrite(OutputStream output) throws Exception { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]