Hi,

Please review this fix for some missing null-checks in stream code:

  http://cr.openjdk.java.net/~psandoz/jdk9/JDK-8044047-null-checks/webrev/
  https://bugs.openjdk.java.net/browse/JDK-8044047

I also boosted some of the primitive summary statistic tests.

Unfortunately the refactoring of some test names resulted in disassociation 
between old and new (not quite sure why in this case), so diffs for renamed 
tests are below.

Paul.

jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java
 
->
jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/FlatMapOpTest.java
 

2c2
<  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights 
reserved.
---
>  * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights 
> reserved.
33a34
> import static java.util.stream.ThowableHelper.checkNPE;
36c37
<  * ExplodeOpTest
---
>  * FlatMapOpTest
41c42,49
< public class ExplodeOpTest extends OpTestCase {
---
> public class FlatMapOpTest extends OpTestCase {
> 
>     public void testNullMapper() {
>         checkNPE(() -> Stream.of(1).flatMap(null));
>         checkNPE(() -> IntStream.of(1).flatMap(null));
>         checkNPE(() -> LongStream.of(1).flatMap(null));
>         checkNPE(() -> DoubleStream.of(1).flatMap(null));
>     }

jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java
 
->
jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/CollectAndSummaryStatisticsTest.java
 

2c2
<  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights 
reserved.
---
>  * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights 
> reserved.
24a25,26
> import org.testng.annotations.Test;
> 
30a33,35
> import java.util.stream.DoubleStream;
> import java.util.stream.IntStream;
> import java.util.stream.LongStream;
33,34d37
< import org.testng.annotations.Test;
< 
35a39
> import static java.util.stream.ThowableHelper.checkNPE;
38c42
<  * TestSummaryStatistics
---
>  * CollectAndSummaryStatisticsTest
43c47,84
< public class SummaryStatisticsTest extends OpTestCase {
---
> public class CollectAndSummaryStatisticsTest extends OpTestCase {
> 
>     public void testIntCollectNull() {
>         checkNPE(() -> IntStream.of(1).collect(null,
>                                                IntSummaryStatistics::accept,
>                                                
> IntSummaryStatistics::combine));
>         checkNPE(() -> IntStream.of(1).collect(IntSummaryStatistics::new,
>                                                null,
>                                                
> IntSummaryStatistics::combine));
>         checkNPE(() -> IntStream.of(1).collect(IntSummaryStatistics::new,
>                                                IntSummaryStatistics::accept,
>                                                null));
>     }
> 
>     public void testLongCollectNull() {
>         checkNPE(() -> LongStream.of(1).collect(null,
>                                                LongSummaryStatistics::accept,
>                                                
> LongSummaryStatistics::combine));
>         checkNPE(() -> LongStream.of(1).collect(LongSummaryStatistics::new,
>                                                 null,
>                                                 
> LongSummaryStatistics::combine));
>         checkNPE(() -> LongStream.of(1).collect(LongSummaryStatistics::new,
>                                                 LongSummaryStatistics::accept,
>                                                 null));
>     }
> 
>     public void testDoubleCollectNull() {
>         checkNPE(() -> DoubleStream.of(1).collect(null,
>                                                 
> DoubleSummaryStatistics::accept,
>                                                 
> DoubleSummaryStatistics::combine));
>         checkNPE(() -> 
> DoubleStream.of(1).collect(DoubleSummaryStatistics::new,
>                                                 null,
>                                                 
> DoubleSummaryStatistics::combine));
>         checkNPE(() -> 
> DoubleStream.of(1).collect(DoubleSummaryStatistics::new,
>                                                   
> DoubleSummaryStatistics::accept,
>                                                   null));
>     }
> 
47a89,91
>         instances.add(countTo(1000).stream().mapToInt(i -> 
> i).collect(IntSummaryStatistics::new,
>                                                                       
> IntSummaryStatistics::accept,
>                                                                       
> IntSummaryStatistics::combine));
49a94,96
>         instances.add(countTo(1000).parallelStream().mapToInt(i -> 
> i).collect(IntSummaryStatistics::new,
>                                                                               
> IntSummaryStatistics::accept,
>                                                                               
> IntSummaryStatistics::combine));
53a101
>             assertEquals(stats.getAverage(), (double) stats.getSum() / 
> stats.getCount());
58a107
> 
62a112,114
>         instances.add(countTo(1000).stream().mapToLong(i -> 
> i).collect(LongSummaryStatistics::new,
>                                                                        
> LongSummaryStatistics::accept,
>                                                                        
> LongSummaryStatistics::combine));
64a117,119
>         instances.add(countTo(1000).parallelStream().mapToLong(i -> 
> i).collect(LongSummaryStatistics::new,
>                                                                               
>  LongSummaryStatistics::accept,
>                                                                               
>  LongSummaryStatistics::combine));
68a124
>             assertEquals(stats.getAverage(), (double) stats.getSum() / 
> stats.getCount());
77a134,136
>         instances.add(countTo(1000).stream().mapToDouble(i -> 
> i).collect(DoubleSummaryStatistics::new,
>                                                                          
> DoubleSummaryStatistics::accept,
>                                                                          
> DoubleSummaryStatistics::combine));
79a139,141
>         instances.add(countTo(1000).parallelStream().mapToDouble(i -> 
> i).collect(DoubleSummaryStatistics::new,
>                                                                               
>    DoubleSummaryStatistics::accept,
>                                                                               
>    DoubleSummaryStatistics::combine));
83a146
>             assertEquals(stats.getAverage(), stats.getSum() / 
> stats.getCount());

Reply via email to