Skip to content

Commit

Permalink
[SUREFIRE-1955] Switch project to Java 8
Browse files Browse the repository at this point in the history
  • Loading branch information
slawekjaranowski committed Dec 26, 2021
1 parent 24f8dd6 commit 65dcb14
Show file tree
Hide file tree
Showing 10 changed files with 79 additions and 97 deletions.
6 changes: 2 additions & 4 deletions Jenkinsfile
Expand Up @@ -34,7 +34,7 @@ final def oses = ['linux':'ubuntu', 'windows':'windows-he']
//final def mavens = env.BRANCH_NAME == 'master' ? ['3.6.x', '3.2.x'] : ['3.6.x']
final def mavens = ['3.6.x', '3.2.x']
// all non-EOL versions and the first EA
final def jdks = [17, 8, 7]
final def jdks = [17, 8]

final def options = ['-e', '-V', '-B', '-nsu', '-P', 'run-its']
final def goals = ['clean', 'install']
Expand Down Expand Up @@ -69,9 +69,7 @@ oses.eachWithIndex { osMapping, indexOfOs ->
boolean first = indexOfOs == 0 && indexOfMaven == 0 && indexOfJdk == 0
def failsafeItPort = 8000 + 100 * indexOfMaven + 10 * indexOfJdk
def allOptions = options + ['-Djava.awt.headless=true', "-Dfailsafe-integration-test-port=${failsafeItPort}", "-Dfailsafe-integration-test-stop-port=${1 + failsafeItPort}"]
if (jdk == 7) {
allOptions += '-Dhttps.protocols=TLSv1.2'
}

if (!maven.startsWith('3.2') && !maven.startsWith('3.3') && !maven.startsWith('3.5')) {
allOptions += '--no-transfer-progress'
}
Expand Down
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -46,7 +46,7 @@ Usage of [maven-surefire-plugin], [maven-failsafe-plugin], [maven-surefire-repor

# Development Information

Build the Surefire project using **Maven 3.1.0+** and **JDK 1.8+**.
Build the Surefire project using **Maven 3.2.5+** and **JDK 1.8+**.

* In order to run tests for a release check during the Vote, the following memory requirements are needed:

Expand All @@ -59,13 +59,13 @@ Build the Surefire project using **Maven 3.1.0+** and **JDK 1.8+**.
set MAVEN_OPTS="-server -Xmx256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Dhttps.protocols=TLSv1.2"
```

* In order to run the tests with **JDK 1.7** (on Linux/Unix modify the system property **jdkHome**):
* In order to build and run the tests with the same current jdk:
```
mvn install site site:stage -P reporting,run-its "-DjdkHome=e:\Program Files\Java\jdk1.7.0_80\"
mvn install site site:stage -P reporting,run-its
```
* In order to run the build and the tests with **JDK 1.8+**, e.g. JDK 11:
* In order to run the build with current jdk and the tests with another, eg **JDK 11+**:
```
mvn install site site:stage -P reporting,run-its "-DjdkHome=e:\Program Files\Java\jdk11\"
mvn install site site:stage -P reporting,run-its "-DjdkHome=/path/to/jdk11"
```


Expand Down
2 changes: 0 additions & 2 deletions maven-failsafe-plugin/pom.xml
Expand Up @@ -271,8 +271,6 @@
<properties>
<integration-test-port>${failsafe-integration-test-port}</integration-test-port>
<integration-test-stop-port>${failsafe-integration-test-stop-port}</integration-test-stop-port>
<https.protocols>${https.protocols}</https.protocols>
<jdk.tls.client.protocols>${https.protocols}</jdk.tls.client.protocols>
</properties>
</configuration>
</execution>
Expand Down
Expand Up @@ -172,15 +172,15 @@ public void noModuleDescriptorFile() throws Exception
assertThat( wrapper.getResolvePathResult() )
.isNull();

assertThat( invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
.isEqualTo( false );

when( mojo.useModulePath() ).thenReturn( true );

File jvmExecutable = new File( jdkHome, IS_OS_WINDOWS ? "bin\\java.exe" : "bin/java" );
JdkAttributes jdkAttributes = new JdkAttributes( jvmExecutable, jdkHome, true );
Platform platform = new Platform().withJdkExecAttributesForTests( jdkAttributes );
assertThat( invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
.isEqualTo( false );
}

Expand Down Expand Up @@ -217,27 +217,27 @@ public void correctModuleDescriptor() throws Exception
assertThat( wrapper.getResolvePathResult().getModuleDescriptor() )
.isSameAs( descriptor );

assertThat( invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
.isEqualTo( true );

when( mojo.useModulePath() ).thenReturn( true );

File jvmExecutable = new File( jdkHome, IS_OS_WINDOWS ? "bin\\java.exe" : "bin/java" );
JdkAttributes jdkAttributes = new JdkAttributes( jvmExecutable, jdkHome, true );
Platform platform = new Platform().withJdkExecAttributesForTests( jdkAttributes );
assertThat( invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
.isEqualTo( true );

jdkAttributes = new JdkAttributes( jvmExecutable, jdkHome, false );
platform = new Platform().withJdkExecAttributesForTests( jdkAttributes );
assertThat( invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
.isEqualTo( false );

when( mojo.useModulePath() ).thenReturn( false );

jdkAttributes = new JdkAttributes( jvmExecutable, jdkHome, true );
platform = new Platform().withJdkExecAttributesForTests( jdkAttributes );
assertThat( invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "canExecuteProviderWithModularPath", platform, wrapper ) )
.isEqualTo( false );
}

Expand Down Expand Up @@ -271,7 +271,7 @@ public void corruptedModuleDescriptor() throws Exception
assertThat( wrapper.getResolvePathResult() )
.isNull();

assertThat( invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
assertThat( (boolean) invokeMethod( mojo, "existsModuleDescriptor", wrapper ) )
.isEqualTo( false );
}

Expand Down
Expand Up @@ -19,16 +19,17 @@
* under the License.
*/

import org.apache.maven.surefire.extensions.ConsoleOutputReportEventListener;
import org.apache.maven.surefire.extensions.ConsoleOutputReporter;
import java.io.File;
import java.io.PrintStream;

import org.apache.maven.plugin.surefire.extensions.junit5.JUnit5ConsoleOutputReporter;
import org.apache.maven.plugin.surefire.report.ConsoleOutputFileReporter;
import org.apache.maven.plugin.surefire.report.DirectConsoleOutput;
import org.apache.maven.surefire.extensions.ConsoleOutputReportEventListener;
import org.apache.maven.surefire.extensions.ConsoleOutputReporter;
import org.fest.assertions.Assertions;
import org.junit.Test;

import java.io.File;

import static org.fest.assertions.Assertions.assertThat;
import static org.powermock.reflect.Whitebox.getInternalState;

Expand Down Expand Up @@ -73,9 +74,9 @@ public void shouldCreateConsoleListener()
ConsoleOutputReportEventListener listener1 = extension.createListener( System.out, System.err );
assertThat( listener1 )
.isInstanceOf( DirectConsoleOutput.class );
assertThat( getInternalState( listener1, "out" ) )
assertThat( (PrintStream) getInternalState( listener1, "out" ) )
.isSameAs( System.out );
assertThat( getInternalState( listener1, "err" ) )
assertThat( (PrintStream) getInternalState( listener1, "err" ) )
.isSameAs( System.err );

File target = new File( System.getProperty( "user.dir" ), "target" );
Expand All @@ -89,17 +90,17 @@ public void shouldCreateConsoleListener()
extension.createListener( reportsDirectory, reportNameSuffix, forkNumber );
assertThat( listener2 )
.isInstanceOf( ConsoleOutputFileReporter.class );
assertThat( getInternalState( listener2, "reportsDirectory" ) )
assertThat( (File) getInternalState( listener2, "reportsDirectory" ) )
.isSameAs( reportsDirectory );
assertThat( getInternalState( listener2, "reportNameSuffix" ) )
assertThat( (String) getInternalState( listener2, "reportNameSuffix" ) )
.isSameAs( reportNameSuffix );
assertThat( getInternalState( listener2, "usePhrasedFileName" ) )
assertThat( (boolean) getInternalState( listener2, "usePhrasedFileName" ) )
.isEqualTo( usePhrasedFileName );
assertThat( getInternalState( listener2, "forkNumber" ) )
assertThat( (Integer) getInternalState( listener2, "forkNumber" ) )
.isSameAs( forkNumber );
assertThat( getInternalState( listener2, "encoding" ) )
assertThat( (String) getInternalState( listener2, "encoding" ) )
.isSameAs( encoding );
assertThat( getInternalState( listener2, "reportEntryName" ) )
assertThat( (String) getInternalState( listener2, "reportEntryName" ) )
.isNull();
}

Expand Down Expand Up @@ -142,9 +143,9 @@ public void shouldCreateJUnit5ConsoleListener()
ConsoleOutputReportEventListener listener1 = extension.createListener( System.out, System.err );
assertThat( listener1 )
.isInstanceOf( DirectConsoleOutput.class );
assertThat( getInternalState( listener1, "out" ) )
assertThat( (PrintStream) getInternalState( listener1, "out" ) )
.isSameAs( System.out );
assertThat( getInternalState( listener1, "err" ) )
assertThat( (PrintStream) getInternalState( listener1, "err" ) )
.isSameAs( System.err );

File target = new File( System.getProperty( "user.dir" ), "target" );
Expand All @@ -159,17 +160,17 @@ public void shouldCreateJUnit5ConsoleListener()
extension.createListener( reportsDirectory, reportNameSuffix, forkNumber );
assertThat( listener2 )
.isInstanceOf( ConsoleOutputFileReporter.class );
assertThat( getInternalState( listener2, "reportsDirectory" ) )
assertThat( (File) getInternalState( listener2, "reportsDirectory" ) )
.isSameAs( reportsDirectory );
assertThat( getInternalState( listener2, "reportNameSuffix" ) )
assertThat( (String) getInternalState( listener2, "reportNameSuffix" ) )
.isSameAs( reportNameSuffix );
assertThat( getInternalState( listener2, "usePhrasedFileName" ) )
assertThat( (boolean) getInternalState( listener2, "usePhrasedFileName" ) )
.isEqualTo( usePhrasedFileName );
assertThat( getInternalState( listener2, "forkNumber" ) )
assertThat( (Integer) getInternalState( listener2, "forkNumber" ) )
.isSameAs( forkNumber );
assertThat( getInternalState( listener2, "encoding" ) )
assertThat( (String) getInternalState( listener2, "encoding" ) )
.isSameAs( encoding );
assertThat( getInternalState( listener2, "reportEntryName" ) )
assertThat( (String) getInternalState( listener2, "reportEntryName" ) )
.isNull();
}
}
Expand Up @@ -96,27 +96,27 @@ public void shouldCreateConsoleListener()
StatelessReportEventListener<WrappedReportEntry, TestSetStats> listener = extension.createListener( config );
assertThat( listener )
.isInstanceOf( StatelessXmlReporter.class );
assertThat( getInternalState( listener, "reportsDirectory" ) )
assertThat( (File) getInternalState( listener, "reportsDirectory" ) )
.isSameAs( reportsDirectory );
assertThat( getInternalState( listener, "reportNameSuffix" ) )
assertThat( (String) getInternalState( listener, "reportNameSuffix" ) )
.isSameAs( reportNameSuffix );
assertThat( getInternalState( listener, "trimStackTrace" ) )
assertThat( (boolean) getInternalState( listener, "trimStackTrace" ) )
.isEqualTo( true );
assertThat( getInternalState( listener, "rerunFailingTestsCount" ) )
assertThat( (Integer) getInternalState( listener, "rerunFailingTestsCount" ) )
.isEqualTo( 5 );
assertThat( getInternalState( listener, "xsdSchemaLocation" ) )
assertThat( (String) getInternalState( listener, "xsdSchemaLocation" ) )
.isSameAs( schema );
assertThat( getInternalState( listener, "xsdVersion" ) )
assertThat( (String) getInternalState( listener, "xsdVersion" ) )
.isEqualTo( "V3" );
assertThat( getInternalState( listener, "testClassMethodRunHistoryMap" ) )
assertThat( (Map<?, ?>) getInternalState( listener, "testClassMethodRunHistoryMap" ) )
.isSameAs( testClassMethodRunHistory );
assertThat( getInternalState( listener, "phrasedFileName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedFileName" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "phrasedSuiteName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedSuiteName" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "phrasedClassName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedClassName" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "phrasedMethodName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedMethodName" ) )
.isEqualTo( false );
}

Expand Down Expand Up @@ -217,27 +217,27 @@ public void shouldCreateJUnit5ConsoleListener()
StatelessReportEventListener<WrappedReportEntry, TestSetStats> listener = extension.createListener( config );
assertThat( listener )
.isInstanceOf( StatelessXmlReporter.class );
assertThat( getInternalState( listener, "reportsDirectory" ) )
assertThat( (File) getInternalState( listener, "reportsDirectory" ) )
.isSameAs( reportsDirectory );
assertThat( getInternalState( listener, "reportNameSuffix" ) )
assertThat( (String) getInternalState( listener, "reportNameSuffix" ) )
.isSameAs( reportNameSuffix );
assertThat( getInternalState( listener, "trimStackTrace" ) )
assertThat( (boolean) getInternalState( listener, "trimStackTrace" ) )
.isEqualTo( true );
assertThat( getInternalState( listener, "rerunFailingTestsCount" ) )
assertThat( (Integer) getInternalState( listener, "rerunFailingTestsCount" ) )
.isEqualTo( 5 );
assertThat( getInternalState( listener, "xsdSchemaLocation" ) )
assertThat( (String) getInternalState( listener, "xsdSchemaLocation" ) )
.isSameAs( schema );
assertThat( getInternalState( listener, "xsdVersion" ) )
assertThat( (String) getInternalState( listener, "xsdVersion" ) )
.isEqualTo( "V3" );
assertThat( getInternalState( listener, "testClassMethodRunHistoryMap" ) )
assertThat( (Map<?, ?>) getInternalState( listener, "testClassMethodRunHistoryMap" ) )
.isSameAs( testClassMethodRunHistory );
assertThat( getInternalState( listener, "phrasedFileName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedFileName" ) )
.isEqualTo( true );
assertThat( getInternalState( listener, "phrasedSuiteName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedSuiteName" ) )
.isEqualTo( true );
assertThat( getInternalState( listener, "phrasedClassName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedClassName" ) )
.isEqualTo( true );
assertThat( getInternalState( listener, "phrasedMethodName" ) )
assertThat( (boolean) getInternalState( listener, "phrasedMethodName" ) )
.isEqualTo( true );
}
}
Expand Up @@ -118,11 +118,11 @@ public void shouldCreateFileReporterListener()
.isSameAs( reportNameSuffix );
assertThat( listener.getEncoding() )
.isSameAs( encoding );
assertThat( getInternalState( listener, "usePhrasedFileName" ) )
assertThat( (boolean) getInternalState( listener, "usePhrasedFileName" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "usePhrasedClassNameInRunning" ) )
assertThat( (boolean) getInternalState( listener, "usePhrasedClassNameInRunning" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "usePhrasedClassNameInTestCaseSummary" ) )
assertThat( (boolean) getInternalState( listener, "usePhrasedClassNameInTestCaseSummary" ) )
.isEqualTo( false );
}

Expand All @@ -143,9 +143,9 @@ public void shouldCreateConsoleReporterListener()
.isInstanceOf( ConsoleReporter.class );
assertThat( listener.getConsoleLogger() )
.isSameAs( consoleLogger );
assertThat( getInternalState( listener, "usePhrasedClassNameInRunning" ) )
assertThat( (boolean) getInternalState( listener, "usePhrasedClassNameInRunning" ) )
.isEqualTo( false );
assertThat( getInternalState( listener, "usePhrasedClassNameInTestCaseSummary" ) )
assertThat( (boolean) getInternalState( listener, "usePhrasedClassNameInTestCaseSummary" ) )
.isEqualTo( false );
}

Expand Down

0 comments on commit 65dcb14

Please sign in to comment.