harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Beyer <ndbe...@apache.org>
Subject Re: svn commit: r799505 - /harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
Date Wed, 05 Aug 2009 00:56:16 GMT
Yeah, it's fine.

On Mon, Aug 3, 2009 at 11:50 PM, Kevin Zhou<zhoukevin83@gmail.com> wrote:
> Hi Nathan,
>
> How is the above patch? Shall I commit it to community?
>
> On Sun, Aug 2, 2009 at 11:40 AM, Kevin Zhou <zhoukevin83@gmail.com> wrote:
>
>> Hi Nathan,
>>
>> OK. I make a new patch according to your requirements. Please help to
>> review and check it. It passes on z/OS.
>>
>> Index:
>> src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>> ===================================================================
>> ---
>> src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>> (revision 799973)
>> +++
>> src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>> (working copy)
>> @@ -35,6 +35,7 @@
>>  import java.net.SocketTimeoutException;
>>  import java.net.UnknownHostException;
>>  import java.security.Permission;
>> +import java.util.Arrays;
>>  import java.util.Locale;
>>
>>  import org.apache.harmony.luni.net.PlainSocketImpl;
>> @@ -1506,13 +1507,13 @@
>>          OutputStream theOutput = worker.getOutputStream();
>>
>>          // Send the regular data
>> -        String sendString = new String("Test");
>> -        theOutput.write(sendString.getBytes());
>> +        byte[] sendBytes = new String("Test").getBytes();
>> +        theOutput.write(sendBytes);
>>          theOutput.flush();
>>
>>          // Send the urgent data byte which should not be received
>>          worker.sendUrgentData("UrgentData".getBytes()[0]);
>> -        theOutput.write(sendString.getBytes());
>> +        theOutput.write(sendBytes);
>>          worker.shutdownOutput();
>>          worker.close();
>>
>> @@ -1532,10 +1533,17 @@
>>          client.close();
>>          server.close();
>>
>> -        String receivedString = new String(myBytes, 0, totalBytesRead);
>> -        assertEquals("Urgent data was received", sendString + sendString,
>> -                receivedString);
>> +        byte[] expectBytes = new byte[2 * sendBytes.length];
>> +        System.arraycopy(sendBytes, 0, expectBytes, 0, sendBytes.length);
>> +        System.arraycopy(sendBytes, 0, expectBytes, sendBytes.length,
>> +                sendBytes.length);
>>
>> +        byte[] resultBytes = new byte[totalBytesRead];
>> +        System.arraycopy(myBytes, 0, resultBytes, 0, totalBytesRead);
>> +
>> +        assertTrue("Urgent data was received", Arrays.equals(expectBytes,
>> +                resultBytes));
>> +
>>          /*
>>           * Test 2: Now validate that urgent data is received as expected.
>> Expect
>>           * that it should be between the two writes.
>> @@ -1552,8 +1560,8 @@
>>          theOutput = worker.getOutputStream();
>>
>>          // Send the regular data
>> -        sendString = new String("Test - Urgent Data");
>> -        theOutput.write(sendString.getBytes());
>> +        sendBytes = new String("Test - Urgent Data").getBytes();
>> +        theOutput.write(sendBytes);
>>
>>          // Send the urgent data (one byte) which should be received
>>          client.setOOBInline(true);
>> @@ -1561,7 +1569,7 @@
>>          worker.sendUrgentData(urgentByte);
>>
>>          // Send more data, the urgent byte must stay in position
>> -        theOutput.write(sendString.getBytes());
>> +        theOutput.write(sendBytes);
>>          worker.shutdownOutput();
>>          worker.close();
>>
>> @@ -1581,12 +1589,18 @@
>>          client.close();
>>          server.close();
>>
>> -        receivedString = new String(myBytes, 0, totalBytesRead);
>> -        assertEquals(
>> -                "Urgent data was not received with one urgent byte",
>> -                sendString + new String(new byte[] { urgentByte }) +
>> sendString,
>> -                receivedString);
>> +        expectBytes = new byte[2 * sendBytes.length + 1];
>> +        System.arraycopy(sendBytes, 0, expectBytes, 0, sendBytes.length);
>> +        expectBytes[sendBytes.length] = urgentByte;
>> +        System.arraycopy(sendBytes, 0, expectBytes, sendBytes.length + 1,
>> +                sendBytes.length);
>>
>> +        resultBytes = new byte[totalBytesRead];
>> +        System.arraycopy(myBytes, 0, resultBytes, 0, totalBytesRead);
>> +
>> +        assertTrue("Urgent data was not received with one urgent byte",
>> Arrays
>> +                .equals(expectBytes, resultBytes));
>> +
>>          /*
>>           * Test 3: Now validate that urgent data is received as expected.
>> Expect
>>           * that it should be between the two writes.
>> @@ -1603,8 +1617,8 @@
>>          theOutput = worker.getOutputStream();
>>
>>          // Send the regular data
>> -        sendString = new String("Test - Urgent Data");
>> -        theOutput.write(sendString.getBytes());
>> +        sendBytes = new String("Test - Urgent Data").getBytes();
>> +        theOutput.write(sendBytes);
>>
>>          // Send the urgent data (one byte) which should be received
>>          client.setOOBInline(true);
>> @@ -1614,7 +1628,7 @@
>>          worker.sendUrgentData(urgentByte2);
>>
>>          // Send more data, the urgent byte must stay in position
>> -        theOutput.write(sendString.getBytes());
>> +        theOutput.write(sendBytes);
>>          worker.shutdownOutput();
>>          worker.close();
>>
>> @@ -1634,12 +1648,19 @@
>>          client.close();
>>          server.close();
>>
>> -        receivedString = new String(myBytes, 0, totalBytesRead);
>> -        assertEquals("Urgent data was not received with two urgent bytes",
>> -                sendString
>> -                        + new String(new byte[] { urgentByte1, urgentByte2
>> })
>> -                        + sendString, receivedString);
>> +        expectBytes = new byte[2 * sendBytes.length + 2];
>> +        System.arraycopy(sendBytes, 0, expectBytes, 0, sendBytes.length);
>> +        expectBytes[sendBytes.length] = urgentByte1;
>> +        expectBytes[sendBytes.length + 1] = urgentByte2;
>> +        System.arraycopy(sendBytes, 0, expectBytes, sendBytes.length + 2,
>> +                sendBytes.length);
>>
>> +        resultBytes = new byte[totalBytesRead];
>> +        System.arraycopy(myBytes, 0, resultBytes, 0, totalBytesRead);
>> +
>> +        assertTrue("Urgent data was not received with two urgent bytes",
>> Arrays
>> +                .equals(expectBytes, resultBytes));
>> +
>>          /*
>>           * Test 4: Now test the case where there is only urgent data.
>>           */
>>
>>
>
>
> --
> Best regards,
> Yours, Kevin Zhou
>

Mime
View raw message