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 25, 2021
1 parent 24f8dd6 commit 6f4ca72
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 92 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
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
14 changes: 1 addition & 13 deletions pom.xml
Expand Up @@ -87,7 +87,7 @@
</distributionManagement>

<properties>
<javaVersion>7</javaVersion>
<javaVersion>8</javaVersion>
<mavenVersion>3.2.5</mavenVersion>
<!-- <shadedVersion>3.0.0-M2</shadedVersion> commented out due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
<commonsLang3Version>3.8.1</commonsLang3Version>
Expand Down Expand Up @@ -477,7 +477,6 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version> <!-- ${shadedVersion}, but resolved due to https://issues.apache.org/jira/browse/MRELEASE-799 -->
<configuration>
<skipTests>${doSkipTests}</skipTests>
<!-- NOTE: Be sure to isolate the Surefire version under test from the version running the tests! -->
<useSystemClassLoader>false</useSystemClassLoader>
<argLine>${jvm.args.tests}</argLine><!-- -Dnet.bytebuddy.experimental=true ${jacoco.agent}-->
Expand Down Expand Up @@ -603,7 +602,6 @@
<configuration>
<rules>
<requireJavaVersion>
<!-- We use JDK 1.8 to check -Xdoclint:all at compile time but with javac -source 1.7 -target 1.7 -->
<version>[1.8, )</version>
</requireJavaVersion>
</rules>
Expand Down Expand Up @@ -656,7 +654,6 @@
<configuration>
<properties>
<property>jdkHome</property>
<property>doSkipTests</property>
<property>jvm9ArgsTests</property>
</properties>
<source>
Expand All @@ -676,24 +673,15 @@
javaVersion = props.getProperty("JAVA_VERSION").replace("\"", "");
System.out.println("Beanshell found java version for tests " + javaVersion);
majorJavaVersion = Integer.parseInt(javaVersion.substring(0, javaVersion.contains(".") ? javaVersion.indexOf('.') : javaVersion.length()));
isSkippedTests = project.getProperties().getProperty("skipTests", session.getUserProperties().getProperty("skipTests"));
if (isSkippedTests == null) {
isSkippedTests = "false";
}

skip = isSkippedTests;
args = "--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED --add-opens java.base/sun.nio.cs=ALL-UNNAMED --add-opens java.base/java.nio.file=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED";

if (majorJavaVersion == 1) {
isJava7 = javaVersion.matches("^1\\.7.*");
skip = "surefire-junit-platform".equals(project.getArtifactId()) ? "" + (Boolean.parseBoolean(isSkippedTests) || isJava7) : isSkippedTests;
args = "";
}

doSkipTests = skip;
jvm9ArgsTests = args;

System.out.println("Beanshell doSkipTests=" + doSkipTests);
System.out.println("Beanshell jvm9ArgsTests=" + jvm9ArgsTests);
</source>
</configuration>
Expand Down

0 comments on commit 6f4ca72

Please sign in to comment.