--- jsr166/src/test/tck/ArrayDequeTest.java 2016/10/17 00:59:53 1.43 +++ jsr166/src/test/tck/ArrayDequeTest.java 2016/10/25 01:32:55 1.51 @@ -1,6 +1,7 @@ /* - * Written by Doug Lea with assistance from members of JCP JSR-166 - * Expert Group and released to the public domain, as explained at + * Written by Doug Lea and Martin Buchholz with assistance from + * members of JCP JSR-166 Expert Group and released to the public + * domain, as explained at * http://creativecommons.org/publicdomain/zero/1.0/ */ @@ -26,7 +27,7 @@ public class ArrayDequeTest extends JSR1 public static Test suite() { class Implementation implements CollectionImplementation { public Class klazz() { return ArrayDeque.class; } - public Collection emptyCollection() { return new ArrayDeque(); } + public Collection emptyCollection() { return populatedDeque(0); } public Object makeElement(int i) { return i; } public boolean isConcurrent() { return false; } public boolean permitsNulls() { return false; } @@ -39,7 +40,7 @@ public class ArrayDequeTest extends JSR1 * Returns a new deque of given size containing consecutive * Integers 0 ... n - 1. */ - private ArrayDeque populatedDeque(int n) { + private static ArrayDeque populatedDeque(int n) { // Randomize various aspects of memory layout, including // filled-to-capacity and wraparound. final ArrayDeque q; @@ -987,33 +988,4 @@ public class ArrayDequeTest extends JSR1 } } - /** - * Handle capacities near Integer.MAX_VALUE. - * ant -Dvmoptions=-Xmx24g -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck - */ - public void testHuge() { - if (! (testImplementationDetails - && expensiveTests - && Runtime.getRuntime().freeMemory() > 21_000_000_000L)) - return; - int maxSize = Integer.MAX_VALUE - 8; - ArrayDeque q; - - q = new ArrayDeque<>(maxSize); - - assertThrows(OutOfMemoryError.class, - () -> new ArrayDeque<>(Integer.MAX_VALUE)); - - q = populatedDeque(0); - q.addAll(Collections.nCopies(maxSize - 2, (Integer) 42)); - assertEquals((Integer) 42, q.peekFirst()); - assertEquals((Integer) 42, q.peekLast()); - assertEquals(maxSize - 2, q.size()); - q.addFirst((Integer) 0); - q.addLast((Integer) 1); - assertEquals((Integer) 0, q.peekFirst()); - assertEquals((Integer) 1, q.peekLast()); - assertEquals(maxSize, q.size()); - } - }