--- old/src/java.base/share/classes/java/util/stream/StreamSpliterators.java 2016-02-08 19:35:58.075239400 +0600 +++ new/src/java.base/share/classes/java/util/stream/StreamSpliterators.java 2016-02-08 19:35:57.899717100 +0600 @@ -186,7 +186,7 @@ @Override public Spliterator trySplit() { - if (isParallel && !finished) { + if (isParallel && buffer == null && !finished) { init(); Spliterator split = spliterator.trySplit(); --- old/test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java 2016-02-08 19:35:58.952850900 +0600 +++ new/test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java 2016-02-08 19:35:58.756826000 +0600 @@ -282,7 +282,7 @@ } } - @Test(dataProvider = "StreamTestData", + @Test(dataProvider = "StreamTestData.small", dataProviderClass = StreamTestDataProvider.class, groups = { "serialization-hostile" }) public void testStreamSpliterators(String name, TestData.OfRef data) { @@ -303,14 +303,14 @@ } } - @Test(dataProvider = "StreamTestData", dataProviderClass = StreamTestDataProvider.class) + @Test(dataProvider = "StreamTestData.small", dataProviderClass = StreamTestDataProvider.class) public void testSpliterators(String name, TestData.OfRef data) { for (Function, Stream> f : streamFunctions()) { SpliteratorTestHelper.testSpliterator(() -> f.apply(data.stream()).spliterator()); } } - @Test(dataProvider = "StreamTestData", dataProviderClass = StreamTestDataProvider.class) + @Test(dataProvider = "StreamTestData.small", dataProviderClass = StreamTestDataProvider.class) public void testParSpliterators(String name, TestData.OfRef data) { for (Function, Stream> f : streamFunctions()) { SpliteratorTestHelper.testSpliterator(() -> f.apply(data.parallelStream()).spliterator()); @@ -323,7 +323,7 @@ if (streamFunctions == null) { List, Stream>> opFunctions = Arrays.asList( s -> s.filter(pEven), - s -> s.map(mDoubler), + s -> s.flatMap(x -> Stream.of(x, x)), // @@@ Add distinct once asserting results with or without order // is correctly supported // s -> s.distinct(), @@ -378,7 +378,7 @@ } } - @Test(dataProvider = "IntStreamTestData", + @Test(dataProvider = "IntStreamTestData.small", dataProviderClass = IntStreamTestDataProvider.class, groups = { "serialization-hostile" }) public void testIntStreamSpliterators(String name, TestData.OfInt data) { @@ -399,14 +399,14 @@ } } - @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class) + @Test(dataProvider = "IntStreamTestData.small", dataProviderClass = IntStreamTestDataProvider.class) public void testIntSpliterators(String name, TestData.OfInt data) { for (Function f : intStreamFunctions()) { SpliteratorTestHelper.testIntSpliterator(() -> f.apply(data.stream()).spliterator()); } } - @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class) + @Test(dataProvider = "IntStreamTestData.small", dataProviderClass = IntStreamTestDataProvider.class) public void testIntParSpliterators(String name, TestData.OfInt data) { for (Function f : intStreamFunctions()) { SpliteratorTestHelper.testIntSpliterator(() -> f.apply(data.parallelStream()).spliterator()); @@ -419,7 +419,7 @@ if (intStreamFunctions == null) { List> opFunctions = Arrays.asList( s -> s.filter(ipEven), - s -> s.map(irDoubler), + s -> s.flatMap(x -> IntStream.of(x, x)), s -> s.sorted()); intStreamFunctions = permuteStreamFunctions(opFunctions); @@ -471,7 +471,7 @@ } } - @Test(dataProvider = "LongStreamTestData", + @Test(dataProvider = "LongStreamTestData.small", dataProviderClass = LongStreamTestDataProvider.class, groups = { "serialization-hostile" }) public void testLongStreamSpliterators(String name, TestData.OfLong data) { @@ -492,14 +492,14 @@ } } - @Test(dataProvider = "LongStreamTestData", dataProviderClass = LongStreamTestDataProvider.class) + @Test(dataProvider = "LongStreamTestData.small", dataProviderClass = LongStreamTestDataProvider.class) public void testLongSpliterators(String name, TestData.OfLong data) { for (Function f : longStreamFunctions()) { SpliteratorTestHelper.testLongSpliterator(() -> f.apply(data.stream()).spliterator()); } } - @Test(dataProvider = "LongStreamTestData", dataProviderClass = LongStreamTestDataProvider.class) + @Test(dataProvider = "LongStreamTestData.small", dataProviderClass = LongStreamTestDataProvider.class) public void testLongParSpliterators(String name, TestData.OfLong data) { for (Function f : longStreamFunctions()) { SpliteratorTestHelper.testLongSpliterator(() -> f.apply(data.parallelStream()).spliterator()); @@ -512,7 +512,7 @@ if (longStreamFunctions == null) { List> opFunctions = Arrays.asList( s -> s.filter(lpEven), - s -> s.map(x -> x * 2L), + s -> s.flatMap(x -> LongStream.of(x, x)), s -> s.sorted()); longStreamFunctions = permuteStreamFunctions(opFunctions); @@ -564,7 +564,7 @@ } } - @Test(dataProvider = "DoubleStreamTestData", + @Test(dataProvider = "DoubleStreamTestData.small", dataProviderClass = DoubleStreamTestDataProvider.class, groups = { "serialization-hostile" }) public void testDoubleStreamSpliterators(String name, TestData.OfDouble data) { @@ -585,14 +585,14 @@ } } - @Test(dataProvider = "DoubleStreamTestData", dataProviderClass = DoubleStreamTestDataProvider.class) + @Test(dataProvider = "DoubleStreamTestData.small", dataProviderClass = DoubleStreamTestDataProvider.class) public void testDoubleSpliterators(String name, TestData.OfDouble data) { for (Function f : doubleStreamFunctions()) { SpliteratorTestHelper.testDoubleSpliterator(() -> f.apply(data.stream()).spliterator()); } } - @Test(dataProvider = "DoubleStreamTestData", dataProviderClass = DoubleStreamTestDataProvider.class) + @Test(dataProvider = "DoubleStreamTestData.small", dataProviderClass = DoubleStreamTestDataProvider.class) public void testDoubleParSpliterators(String name, TestData.OfDouble data) { for (Function f : doubleStreamFunctions()) { SpliteratorTestHelper.testDoubleSpliterator(() -> f.apply(data.parallelStream()).spliterator()); @@ -605,7 +605,7 @@ if (doubleStreamFunctions == null) { List> opFunctions = Arrays.asList( s -> s.filter(dpEven), - s -> s.map(x -> x * 2.0), + s -> s.flatMap(x -> DoubleStream.of(x, x)), s -> s.sorted()); doubleStreamFunctions = permuteStreamFunctions(opFunctions);