You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Paulex Yang (JIRA)" <ji...@apache.org> on 2006/12/05 18:06:22 UTC

[jira] Updated: (HARMONY-2425) [classlib][concurrent]java.util.concurrent.LinkedBlockingQueue.toArray(Object[]) do not set element next to the end of collection to null

     [ http://issues.apache.org/jira/browse/HARMONY-2425?page=all ]

Paulex Yang updated HARMONY-2425:
---------------------------------

    Summary: [classlib][concurrent]java.util.concurrent.LinkedBlockingQueue.toArray(Object[]) do not set element next to the end of collection to null  (was: [luni] java.util.concurrent.LinkedBlockingQueue.toArray(Object[]) do not set element next to the end of collection to null)

> [classlib][concurrent]java.util.concurrent.LinkedBlockingQueue.toArray(Object[]) do not set element next to the end of collection to null
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2425
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2425
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Artem Aliev
>
> As specificaton says, if collection fits into array with room to spare, the
> element in the array immediately following the end of the collection must be
> set to null.
> Test to reproduce:
> import junit.framework.TestCase;
> import java.util.concurrent.*;
> public class Test extends TestCase {
>         public void testcase() {
>                 LinkedBlockingQueue lbq = new LinkedBlockingQueue();
>                 int i = lbq.size();
>                 Object[] resulta, obja = new Object[] {
>                                 new Integer(1),
>                                 new Integer(42),
>                                 new Integer(53) };
>         System.out.println("lbq = " + lbq);
>         System.out.println("lbq.size() = " + lbq.size());
>         for (int j = 0; j < obja.length; j++) {
>             System.out.println("-1- obja[" + j + "] = " + obja[j]);
>                 }
>         assertTrue("obja.length > lbq.size()", obja.length > lbq.size());
>         resulta = lbq.toArray(obja);
>         for (int j = 0; j < obja.length; j++) {
>             System.out.println("-2- obja[" + j + "] = " + obja[j]);
>                 }
>         for (int j = 0; j < resulta.length; j++) {
>             System.out.println("resulta[" + j + "] = " + resulta[j]);
>                 }
>         assertTrue("resulta[i] == null" , resulta[i] == null);
>     }
> }
> Output on Harmony:
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software
> Foundation or its licensors, as applicable.
> java version "1.5.0" 
> pre-alpha : not complete or compatible
> svn = rsvn: '.' is not a working copy, (Sep 20 2006), Windows/ia32/msvc 1310,
> release build
> http://incubator.apache.org/harmony
> .lbq = []
> lbq.size() = 0
> -1- obja[0] = 1
> -1- obja[1] = 42
> -1- obja[2] = 53
> -2- obja[0] = 1
> -2- obja[1] = 42
> -2- obja[2] = 53
> resulta[0] = 1
> resulta[1] = 42
> resulta[2] = 53
> F
> Time: 0.032
> There was 1 failure:
> 1) testcase(Test)junit.framework.AssertionFailedError: resulta[i] == null
>         at Test.testcase(Test.java:28)
>         at java.lang.reflect.VMReflection.invokeMethod(Native Method)
> FAILURES!!!
> Tests run: 1,  Failures: 1,  Errors: 0
> res = 1
> Output on RI:
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> .lbq = []
> lbq.size() = 0
> -1- obja[0] = 1
> -1- obja[1] = 42
> -1- obja[2] = 53
> -2- obja[0] = null
> -2- obja[1] = 42
> -2- obja[2] = 53
> resulta[0] = null
> resulta[1] = 42
> resulta[2] = 53
> Time: 0
> OK (1 test)
> res = 0

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira