Hi Tim,

Please do not appy this patch. The test hangs sometimes after applying this
patch.

I'll take a deep look at the test, and suggest exclude the test at first.

Thanks!


On 6/27/06, Andrew Zhang <[EMAIL PROTECTED]> wrote:

 Hi Tim,

I took a look at the test, and found there are some problems in the test.

The test looks like:
while(true){
count = read();
if(count <= 0){ // Error! For nonblocking read, returns 0 means non data
available currently
break;
}
}

For nonblocking read, I think "count <= 0" is not the rigth condition to
break out. "count < 0" should be used instead. What's your opnion? I'm not
very sure whether my patch could fix the problem thoroughly because my
netwrok is so good that the test never fails even with "count <= 0".
Thanks!
Here's the patch for this problem: (or shall I raise a separated JIRA ? )

Index:
src/test/java/org/apache/harmony/tests/java/nio/channels/SocketChannelTest.java
===================================================================
---
src/test/java/org/apache/harmony/tests/java/nio/channels/SocketChannelTest.java 
(revision
417326)
+++
src/test/java/org/apache/harmony/tests/java/nio/channels/SocketChannelTest.java 
(working
copy)
@@ -2490,7 +2490,7 @@
             int total = 0;
             while (total < CAPACITY_64KB) {
                 count = this.channel1.read(buf);
-                if (count <= 0){
+                if (count < 0){
                     break;
                 }
                 total = total + count;
@@ -2509,13 +2509,13 @@
             count = in.read(serverRBuf);
             while (total < CAPACITY_64KB + 1) {
                 count = this.channel1.read(buf);
-                if (count <= 0){
+                if (count < 0){
                     break;
                 }
                 total = total + count;
             }
             if (total > 0) {
-                assertEquals(total, CAPACITY_64KB);
+                assertEquals(CAPACITY_64KB, total);
                 for (int i = 0; i < count; i++) {
                     assertEquals((byte) i, serverRBuf[i]);
                 }


 On 6/27/06, Tim Ellison <[EMAIL PROTECTED]> wrote:
>
> Apache Harmony Build wrote:
> > Online report :
> 
http://ibmonly.hursley.ibm.com/continuum/win.ia32/servlet/continuum/target/ProjectBuild.vm/view/ProjectBuild/id/6/buildId/1435
> > Build statistics:
> >   State: Failed
> >   Previous State: Ok
> >   Started at: Mon, 26 Jun 2006 16:09:03 +0100
> >   Finished at: Mon, 26 Jun 2006 16:22:52 +0100
> >   Total time: 13m 48s
> >   Build Trigger: Schedule
> >   Exit code: 1
> >   Building machine hostname: hy1
> >   Operating system : Windows XP(Service Pack 2)
> >   Java version : 1.5.0_06(Sun Microsystems Inc.)
>
> <snip>
>
> >      [exec]     [junit] T2 not closed
> >      [exec]     [junit] T1 not closed
> >      [exec]     [junit] Read fail in capacity64KB,
> testReadByteBuffer_NonBlocking_ReadWriteRealTooLargeData not finish.
> >      [exec]     [junit] Tests run: 80, Failures: 1, Errors: 0, Time
> elapsed: 15.491 sec
> >      [exec]     [junit] TEST
> org.apache.harmony.tests.java.nio.channels.SocketChannelTest FAILED
> >      [exec]     [junit] Tests run: 14, Failures: 0, Errors: 0, Time
> elapsed: 0.313 sec
> >      [exec]     [junit] Tests run: 3, Failures: 0, Errors: 0, Time
> elapsed: 0 sec
> >      [exec]     [junit] Tests run: 9, Failures: 0, Errors: 0, Time
> elapsed: 0.126 sec
> >      [exec]     [junit] Tests run: 2, Failures: 0, Errors: 0, Time
> elapsed: 0.016 sec
> >      [exec]     [junit] Tests run: 6, Failures: 0, Errors: 0, Time
> elapsed: 0.094 sec
> >      [exec]     [junit] Tests run: 2, Failures: 0, Errors: 0, Time
> elapsed: 0.016 sec
> >      [exec]     [junit] Tests FAILED
>
>
> This test seems to be frequently, if intermittently, failing.
>
> expected:<7300> but was:<65536>
>
> junit.framework.AssertionFailedError: expected:<7300> but was:<65536> at
>
> 
org.apache.harmony.tests.java.nio.channels.SocketChannelTest.testReadByteBuffer_NonBlocking_ReadWriteRealTooLargeData(
> SocketChannelTest.java:2518)
> at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)
>
>
>
> Regards,
> Tim
>
> --
>
> Tim Ellison ([EMAIL PROTECTED] )
> IBM Java technology centre, UK.
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Andrew Zhang
China Software Development Lab, IBM




--
Andrew Zhang
China Software Development Lab, IBM

Reply via email to