[ https://issues.apache.org/jira/browse/SUREFIRE-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15422509#comment-15422509 ]
Fuud commented on SUREFIRE-1259: -------------------------------- [~tibor17] Main reason for this issue is that runner that does not report any child can discover some at runtime. For example Spock's runner "Sputnik" does not report parametrized children because parameter calculation is performed before each test run. > ParallelComputerBuilder should not filter out runners with zero children > ------------------------------------------------------------------------ > > Key: SUREFIRE-1259 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1259 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin > Affects Versions: 2.19.1 > Reporter: Fuud > > ParallelComputerBuilder > {code} > private <T extends Runner> WrappedRunners wrapRunners( Collection<T> runners ) > throws InitializationError > { > // Do NOT use allGroups here. > long childrenCounter = 0; > ArrayList<Runner> runs = new ArrayList<Runner>(); > for ( T runner : runners ) > { > if ( runner != null ) > { > int children = countChildren( runner ); > childrenCounter += children; > if ( children != 0 ) > { > runs.add( runner ); > } > } > } > return runs.isEmpty() ? new WrappedRunners() : new > WrappedRunners( createSuite( runs ), childrenCounter ); > } > {code} > JUnit does not enfore ParentRunner to report all it's children. Therefore > zero children count should not be criteria to skip this runner. > I suggest to remove "if ( children != 0 )" condition and run runner anyway. > Pull request https://github.com/apache/maven-surefire/pull/114 -- This message was sent by Atlassian JIRA (v6.3.4#6332)