Uploaded image for project: 'Commons IO'
  1. Commons IO
  2. IO-96

Test case misuses read(byte[]) and read(char[])

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.2
    • Fix Version/s: 1.3
    • Labels:
      None
    • Environment:

      GNU classpath

      Description

      Message to mailing list from Anthony Green
      http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg82127.html

      -----------------------------------------
      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

        Unknown macro: {+ 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 {

        Attachments

          Activity

            People

            • Assignee:
              scolebourne Stephen Colebourne
              Reporter:
              scolebourne Stephen Colebourne
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: