harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Beyer <nbe...@gmail.com>
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 Sun, 02 Aug 2009 01:29:33 GMT
On Sat, Aug 1, 2009 at 8:11 PM, Tony Wu<wuyuehao@gmail.com> wrote:
> Hi, Nathan
> I dont like assertion on byte arrays. The error message printed out by
> junit is less readable than String when it fails.

That's a trivial problem to fix - write a helper method that does a
better assert - i've written such a thing dozens of times. Not to
mention, if you use JUnit 4 - this is no longer a problem =
http://junit.org/apidocs/org/junit/Assert.html#assertArrayEquals%28byte[],%20byte[]%29
In addition, there's several hamcrest matchers for even better error
descriptions. The dependency is there, it just needs to be used.

-Nathan

> What' more it's a
> nightmare if you want to append or remove some bytes.
>
> On Sun, Aug 2, 2009 at 7:48 AM, Nathan Beyer<nbeyer@gmail.com> wrote:
>> On Sat, Aug 1, 2009 at 5:02 AM, Kevin Zhou<zhoukevin83@gmail.com> wrote:
>>> Hi Nathan,
>>> Yes. Actually I do try the String(byte[], String) on z/OS but still fail to
>>> solve the previous failure. As I tested, the Socket on Z returns strings in
>>> platform-dependent encoding, thus the String(byte[]) is adopted.
>>
>> Why is this even asserting with Strings? Shouldn't the assertions be
>> using byte values for fixtures?
>>
>>>
>>> On Sat, Aug 1, 2009 at 7:16 AM, Nathan Beyer <ndbeyer@apache.org> wrote:
>>>
>>>> This code is now platform-dependant. The String(byte[]) assumes the
>>>> bytes are encoded in the platform's default encoding. The code should
>>>> really use String(byte[], String) with a specific encoding.
>>>>
>>>> -Nathan
>>>>
>>>> On Thu, Jul 30, 2009 at 10:29 PM, <zhoukevin@apache.org> wrote:
>>>> > Author: zhoukevin
>>>> > Date: Fri Jul 31 03:29:46 2009
>>>> > New Revision: 799505
>>>> >
>>>> > URL: http://svn.apache.org/viewvc?rev=799505&view=rev
>>>> > Log:
>>>> > Fix test failure of SocketTest.test_sendUrgentDataI method for z/OS.
>>>> >
>>>> > Modified:
>>>> >
>>>>  harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>>>> >
>>>> > Modified:
>>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>>>> > URL:
>>>> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java?rev=799505&r1=799504&r2=799505&view=diff
>>>> >
>>>> ==============================================================================
>>>> > ---
>>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>>>> (original)
>>>> > +++
>>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
>>>> Fri Jul 31 03:29:46 2009
>>>> > @@ -1582,8 +1582,10 @@
>>>> >         server.close();
>>>> >
>>>> >         receivedString = new String(myBytes, 0, totalBytesRead);
>>>> > -        assertEquals("Urgent data was not received with one urgent
>>>> byte",
>>>> > -                sendString + (char) urgentByte + sendString,
>>>> receivedString);
>>>> > +        assertEquals(
>>>> > +                "Urgent data was not received with one urgent
byte",
>>>> > +                sendString + new String(new byte[] { urgentByte
}) +
>>>> sendString,
>>>> > +                receivedString);
>>>> >
>>>> >         /*
>>>> >          * Test 3: Now validate that urgent data is received as
expected.
>>>> Expect
>>>> > @@ -1634,7 +1636,8 @@
>>>> >
>>>> >         receivedString = new String(myBytes, 0, totalBytesRead);
>>>> >         assertEquals("Urgent data was not received with two urgent
>>>> bytes",
>>>> > -                sendString + (char) urgentByte1 + (char) urgentByte2
>>>> > +                sendString
>>>> > +                        + new String(new byte[] { urgentByte1,
>>>> urgentByte2 })
>>>> >                         + sendString, receivedString);
>>>> >
>>>> >         /*
>>>> > @@ -1663,8 +1666,8 @@
>>>> >         client.close();
>>>> >         server.close();
>>>> >
>>>> > -        assertEquals("Sole urgent data was not received", (int)
>>>> urgentByte,
>>>> > -                byteRead);
>>>> > +        assertEquals("Sole urgent data was not received",
>>>> > +                (int) (urgentByte & 0xff), byteRead);
>>>> >     }
>>>> >
>>>> >     /**
>>>> >
>>>> >
>>>> >
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Yours, Kevin Zhou
>>>
>>
>
>
>
> --
> Tony Wu
> China Software Development Lab, IBM
>

Mime
View raw message