Merge pull request #315 from michaelboyles/fix-footer

[SUREFIRE-1843] - Trademarks / privacy policy footer displays broken
diff --git a/pom.xml b/pom.xml
index b61a7dc..fbbba5f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,7 +99,7 @@
     <!-- maven-shared-utils:3.2.0+ another behavior - broke Surefire performance - end of subprocess notification not arrived in ForkStarter -->
     <mavenSharedUtilsVersion>3.1.0</mavenSharedUtilsVersion>
     <powermockVersion>2.0.5</powermockVersion>
-    <jacocoVersion>0.8.5</jacocoVersion>
+    <jacocoVersion>0.8.6</jacocoVersion>
     <maven.surefire.scm.devConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-surefire.git</maven.surefire.scm.devConnection>
     <maven.site.path>surefire-archives/surefire-LATEST</maven.site.path>
     <!-- Override with Jigsaw JRE 9 -->
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/api/booter/BaseProviderFactory.java b/surefire-api/src/main/java/org/apache/maven/surefire/api/booter/BaseProviderFactory.java
index c229f52..9654b14 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/api/booter/BaseProviderFactory.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/api/booter/BaseProviderFactory.java
@@ -119,8 +119,7 @@
     @Override
     public RunOrderCalculator getRunOrderCalculator()
     {
-        return directoryScannerParameters == null
-                ? null : new DefaultRunOrderCalculator( runOrderParameters, getThreadCount() );
+        return new DefaultRunOrderCalculator( runOrderParameters, getThreadCount() );
     }
 
     public void setReporterFactory( ReporterFactory reporterFactory )
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/api/provider/ProviderParameters.java b/surefire-api/src/main/java/org/apache/maven/surefire/api/provider/ProviderParameters.java
index 6fc54ee..048622f 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/api/provider/ProviderParameters.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/api/provider/ProviderParameters.java
@@ -30,7 +30,6 @@
 import org.apache.maven.surefire.api.util.RunOrderCalculator;
 import org.apache.maven.surefire.api.util.ScanResult;
 
-import javax.annotation.Nullable;
 import java.util.List;
 import java.util.Map;
 
@@ -69,7 +68,6 @@
      *
      * @return A RunOrderCalculator
      */
-    @Nullable
     RunOrderCalculator getRunOrderCalculator();
 
     /**
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/api/util/TestsToRun.java b/surefire-api/src/main/java/org/apache/maven/surefire/api/util/TestsToRun.java
index bdf9e64..28736ef 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/api/util/TestsToRun.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/api/util/TestsToRun.java
@@ -26,6 +26,8 @@
 import java.util.List;
 import java.util.Set;
 
+import org.apache.maven.surefire.api.testset.TestSetFailedException;
+
 import static java.lang.Math.max;
 
 /**
@@ -53,6 +55,7 @@
     }
 
     public static TestsToRun fromClass( Class<?> clazz )
+        throws TestSetFailedException
     {
         return new TestsToRun( Collections.<Class<?>>singleton( clazz ) );
     }
diff --git a/surefire-api/src/test/java/org/apache/maven/surefire/api/booter/BaseProviderFactoryTest.java b/surefire-api/src/test/java/org/apache/maven/surefire/api/booter/BaseProviderFactoryTest.java
deleted file mode 100644
index 018e7f0..0000000
--- a/surefire-api/src/test/java/org/apache/maven/surefire/api/booter/BaseProviderFactoryTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.maven.surefire.api.booter;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.surefire.api.testset.DirectoryScannerParameters;
-import org.junit.Test;
-
-import java.io.File;
-import java.util.Collections;
-
-import static org.junit.Assert.assertNull;
-
-/**
- * @author Michael Boyles
- */
-public class BaseProviderFactoryTest
-{
-    @Test
-    public void runOrderCalculatorIsNullIfNotSet()
-    {
-        BaseProviderFactory factory = new BaseProviderFactory( true );
-        factory.setDirectoryScannerParameters ( getDirectoryScannerParameters() );
-
-        assertNull( factory.getRunOrderCalculator() );
-    }
-
-    private DirectoryScannerParameters getDirectoryScannerParameters()
-    {
-        return new DirectoryScannerParameters(
-            new File( "/fake/file" ),
-            Collections.<String>emptyList(),
-            Collections.<String>emptyList(),
-            Collections.<String>emptyList(),
-            false,
-            "ALPHABETICAL"
-        );
-    }
-}
diff --git a/surefire-booter/src/test/java/org/apache/maven/surefire/booter/SurefireReflectorTest.java b/surefire-booter/src/test/java/org/apache/maven/surefire/booter/SurefireReflectorTest.java
index 44e4627..88fd583 100644
--- a/surefire-booter/src/test/java/org/apache/maven/surefire/booter/SurefireReflectorTest.java
+++ b/surefire-booter/src/test/java/org/apache/maven/surefire/booter/SurefireReflectorTest.java
@@ -140,7 +140,15 @@
 
         surefireReflector.setRunOrderParameters( foo, null );
         assertTrue( isCalled( foo ) );
-        assertNull( ( (Foo) foo ).getRunOrderCalculator() );
+        try
+        {
+            ( (Foo) foo ).getRunOrderCalculator();
+        }
+        catch ( NullPointerException e )
+        {
+            return;
+        }
+        fail();
     }
 
     public void testTestSuiteDefinition()
diff --git a/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java b/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
index 20e2797..9e04838 100644
--- a/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
+++ b/surefire-providers/surefire-junit4/src/test/java/org/apache/maven/surefire/junit4/JUnit4ProviderTest.java
@@ -20,10 +20,12 @@
  */
 
 import org.apache.maven.surefire.api.booter.BaseProviderFactory;
+import org.apache.maven.surefire.api.testset.RunOrderParameters;
 import org.apache.maven.surefire.api.testset.TestRequest;
 import org.junit.Test;
 import org.junit.runner.Description;
 
+import java.io.File;
 import java.util.HashMap;
 
 import static java.util.Arrays.asList;
@@ -54,6 +56,7 @@
         providerParameters.setProviderProperties( new HashMap<String, String>() );
         providerParameters.setClassLoaders( getClass().getClassLoader() );
         providerParameters.setTestRequest( new TestRequest( null, null, null ) );
+        providerParameters.setRunOrderParameters( new RunOrderParameters( "hourly", new File( "" ) ) );
         return new JUnit4Provider( providerParameters );
     }
 
diff --git a/surefire-providers/surefire-junit47/pom.xml b/surefire-providers/surefire-junit47/pom.xml
index 86f428f..ddac05f 100644
--- a/surefire-providers/surefire-junit47/pom.xml
+++ b/surefire-providers/surefire-junit47/pom.xml
@@ -54,11 +54,6 @@
             <version>1.0-1</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
index 372351a..6877b00 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
@@ -290,7 +290,6 @@
     private TestsToRun scanClassPath()
     {
         TestsToRun scanned = scanResult.applyFilter( scannerFilter, testClassLoader );
-        return runOrderCalculator == null
-            ? scanned : runOrderCalculator.orderTestClasses( scanned );
+        return runOrderCalculator.orderTestClasses( scanned );
     }
 }
diff --git a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreProviderTest.java b/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreProviderTest.java
deleted file mode 100644
index 34cf112..0000000
--- a/surefire-providers/surefire-junit47/src/test/java/org/apache/maven/surefire/junitcore/JUnitCoreProviderTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.maven.surefire.junitcore;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.surefire.api.provider.ProviderParameters;
-import org.apache.maven.surefire.api.util.ScanResult;
-import org.apache.maven.surefire.api.util.ScannerFilter;
-import org.apache.maven.surefire.api.util.TestsToRun;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import java.util.Iterator;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-/**
- * @author Michael Boyles
- */
-@RunWith( MockitoJUnitRunner.class )
-public class JUnitCoreProviderTest
-{
-    @Mock
-    private ProviderParameters providerParameters;
-    @Mock
-    private ScanResult scanResult;
-
-    @Test
-    public void doNotSortTestsIfNoRunOrderProvider()
-    {
-        Mockito.when( providerParameters.getScanResult() ).thenReturn( scanResult );
-        Mockito.when( scanResult.applyFilter( Mockito.any( ScannerFilter.class ), Mockito.any( ClassLoader.class ) ) )
-            .thenReturn( TestsToRun.fromClass( String.class ) );
-
-        JUnitCoreProvider provider = new JUnitCoreProvider( providerParameters );
-        Iterator<Class<?>> suites = provider.getSuites().iterator();
-
-        assertTrue( suites.hasNext() );
-        assertEquals( String.class, suites.next() );
-        assertFalse( suites.hasNext() );
-    }
-}