ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ArrayDequeTest.java
(Generate patch)

Comparing jsr166/src/test/tck/ArrayDequeTest.java (file contents):
Revision 1.49 by jsr166, Fri Oct 21 03:24:00 2016 UTC vs.
Revision 1.50 by jsr166, Sat Oct 22 05:45:56 2016 UTC

# Line 1019 | Line 1019 | public class ArrayDequeTest extends JSR1
1019  
1020      /**
1021       * Handle capacities near Integer.MAX_VALUE.
1022 <     * ant -Dvmoptions='-Xms22g -Xmx22g' -Djsr166.testImplementationDetails=true -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck
1022 >     * ant -Dvmoptions='-Xms28g -Xmx28g' -Djsr166.testImplementationDetails=true -Djsr166.expensiveTests=true -Djsr166.tckTestClass=ArrayDequeTest -Djsr166.methodFilter=testHuge tck
1023       */
1024      public void testHuge() {
1025          if (! (testImplementationDetails
1026                 && expensiveTests
1027 <               && Runtime.getRuntime().maxMemory() > 21_000_000_000L))
1027 >               && Runtime.getRuntime().maxMemory() > 24L * (1 << 30)))
1028              return;
1029  
1030          ArrayDeque q;
1031 +        Integer e = 42;
1032          final int maxSize = Integer.MAX_VALUE - 8;
1033  
1034          assertThrows(OutOfMemoryError.class,
# Line 1035 | Line 1036 | public class ArrayDequeTest extends JSR1
1036  
1037          {
1038              q = new ArrayDeque<>(maxSize);
1039 +            assertEquals(0, q.size());
1040 +            assertTrue(q.isEmpty());
1041              q = null;
1042          }
1043  
1044          {
1045              q = new ArrayDeque();
1046 <            assertTrue(q.addAll(Collections.nCopies(maxSize - 2, (Integer) 42)));
1047 <            assertEquals((Integer) 42, q.peekFirst());
1048 <            assertEquals((Integer) 42, q.peekLast());
1046 >            assertTrue(q.addAll(Collections.nCopies(maxSize - 2, e)));
1047 >            assertEquals(e, q.peekFirst());
1048 >            assertEquals(e, q.peekLast());
1049              assertEquals(maxSize - 2, q.size());
1050              q.addFirst((Integer) 0);
1051              q.addLast((Integer) 1);
1052              assertEquals((Integer) 0, q.peekFirst());
1053              assertEquals((Integer) 1, q.peekLast());
1054              assertEquals(maxSize, q.size());
1055 <            q = null;
1055 >
1056 >            ArrayDeque qq = q;
1057 >            ArrayDeque smallish = new ArrayDeque(
1058 >                Collections.nCopies(Integer.MAX_VALUE - maxSize + 1, e));
1059 >            assertThrows(
1060 >                IllegalStateException.class,
1061 >                () -> qq.addAll(qq),
1062 >                () -> qq.addAll(smallish),
1063 >                () -> smallish.addAll(qq));
1064          }
1065      }
1066  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines