You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2020/05/24 21:24:36 UTC
[maven-surefire] branch SUREFIRE-1733 updated: unit tests for all
ProviderInfo
This is an automated email from the ASF dual-hosted git repository.
tibordigana pushed a commit to branch SUREFIRE-1733
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
The following commit(s) were added to refs/heads/SUREFIRE-1733 by this push:
new 42457e1 unit tests for all ProviderInfo
42457e1 is described below
commit 42457e1bdd57804661f4966f5d449d99f48bed0d
Author: tibordigana <ti...@apache.org>
AuthorDate: Sun May 24 23:12:37 2020 +0200
unit tests for all ProviderInfo
---
.../plugin/surefire/AbstractSurefireMojo.java | 24 ++++---
.../apache/maven/plugin/surefire/ProviderInfo.java | 2 +-
...Requirements.java => ProviderRequirements.java} | 6 +-
.../AbstractSurefireMojoJava7PlusTest.java | 83 ++++++++++++++++++++++
4 files changed, 100 insertions(+), 15 deletions(-)
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 139d214..1c35540 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -1927,7 +1927,7 @@ public abstract class AbstractSurefireMojo
ClasspathConfiguration classpathConfiguration = new ClasspathConfiguration( testClasspath, providerClasspath,
inProcClasspath, effectiveIsEnableAssertions(), isChildDelegation() );
- ProviderForkRequirements forkRequirements = new ProviderForkRequirements( false, false, false );
+ ProviderRequirements forkRequirements = new ProviderRequirements( false, false, false );
return new StartupConfiguration( providerName, classpathConfiguration, classLoaderConfiguration,
ProcessCheckerType.toEnum( getEnableProcessChecker() ), providerInfo.getJpmsArguments( forkRequirements ) );
}
@@ -1999,11 +1999,11 @@ public abstract class AbstractSurefireMojo
providerClasspath = classpathCache.setCachedClasspath( providerName, providerArtifacts );
}
- final ProviderForkRequirements forkRequirements;
+ final ProviderRequirements providerRequirements;
final Classpath testModulepath;
if ( isMainDescriptor )
{
- forkRequirements = new ProviderForkRequirements( true, true, false );
+ providerRequirements = new ProviderRequirements( true, true, false );
ResolvePathsRequest<String> req = ResolvePathsRequest.ofStrings( testClasspath.getClassPath() )
.setJdkHome( javaHome )
.setModuleDescriptor( javaModuleDescriptor );
@@ -2026,7 +2026,7 @@ public abstract class AbstractSurefireMojo
}
else
{
- forkRequirements = new ProviderForkRequirements( true, false, true );
+ providerRequirements = new ProviderRequirements( true, false, true );
testModulepath = testClasspath;
testClasspath = emptyClasspath();
}
@@ -2054,8 +2054,10 @@ public abstract class AbstractSurefireMojo
getConsoleLogger().debug( inProcClasspath.getLogMessage( "in-process classpath:" ) );
getConsoleLogger().debug( inProcClasspath.getCompactLogMessage( "in-process(compact) classpath:" ) );
+ ProcessCheckerType processCheckerType = ProcessCheckerType.toEnum( getEnableProcessChecker() );
+ List<String[]> jpmsArgs = providerInfo.getJpmsArguments( providerRequirements );
return new StartupConfiguration( providerName, classpathConfiguration, classLoaderConfiguration,
- ProcessCheckerType.toEnum( getEnableProcessChecker() ), providerInfo.getJpmsArguments( forkRequirements ) );
+ processCheckerType, jpmsArgs );
}
private Artifact getCommonArtifact()
@@ -3063,7 +3065,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
return emptyList();
}
@@ -3100,7 +3102,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
return emptyList();
}
@@ -3148,7 +3150,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
return emptyList();
}
@@ -3198,7 +3200,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
boolean hasTestDescriptor = forkRequirements.isModularPath() && forkRequirements.hasTestModuleDescriptor();
return hasTestDescriptor ? getJpmsArgs() : Collections.<String[]>emptyList();
@@ -3382,7 +3384,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
return emptyList();
}
@@ -3438,7 +3440,7 @@ public abstract class AbstractSurefireMojo
@Nonnull
@Override
- public List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements )
+ public List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements )
{
return emptyList();
}
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderInfo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderInfo.java
index e0d1004..66dd493 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderInfo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderInfo.java
@@ -42,5 +42,5 @@ public interface ProviderInfo
void addProviderProperties() throws MojoExecutionException;
@Nonnull
- List<String[]> getJpmsArguments( @Nonnull ProviderForkRequirements forkRequirements );
+ List<String[]> getJpmsArguments( @Nonnull ProviderRequirements forkRequirements );
}
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderForkRequirements.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderRequirements.java
similarity index 87%
rename from maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderForkRequirements.java
rename to maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderRequirements.java
index 352fe2f..793667a 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderForkRequirements.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/ProviderRequirements.java
@@ -22,15 +22,15 @@ package org.apache.maven.plugin.surefire;
/**
* Used to get additional provider-specific JVM arguments.
*
- * @see ProviderInfo#getJpmsArguments(ProviderForkRequirements)
+ * @see ProviderInfo#getJpmsArguments(ProviderRequirements)
*/
-final class ProviderForkRequirements
+final class ProviderRequirements
{
private final boolean modularPath;
private final boolean mainModuleDescriptor;
private final boolean testModuleDescriptor;
- ProviderForkRequirements( boolean modularPath, boolean mainModuleDescriptor, boolean testModuleDescriptor )
+ ProviderRequirements( boolean modularPath, boolean mainModuleDescriptor, boolean testModuleDescriptor )
{
this.modularPath = modularPath;
this.mainModuleDescriptor = mainModuleDescriptor;
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoJava7PlusTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoJava7PlusTest.java
index d8e1136..4d8f92b 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoJava7PlusTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoJava7PlusTest.java
@@ -415,6 +415,60 @@ public class AbstractSurefireMojoJava7PlusTest
"junit.jar", "hamcrest.jar" );
}
+ @Test
+ public void testAllProviderInfo()
+ {
+ Mojo mojo = new Mojo();
+
+ ProviderRequirements providerRequirements = new ProviderRequirements( true, false, true );
+
+ ProviderInfo providerInfo = mojo.newDynamicProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "custom.Provider" );
+ assertThat( providerInfo.getJpmsArguments( providerRequirements ) )
+ .isEmpty();
+
+ providerInfo = mojo.newJUnit3ProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "org.apache.maven.surefire.junit.JUnit3Provider" );
+ assertThat( providerInfo.getJpmsArguments( providerRequirements ) )
+ .isEmpty();
+
+ providerInfo = mojo.newJUnit4ProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "org.apache.maven.surefire.junit4.JUnit4Provider" );
+ assertThat( providerInfo.getJpmsArguments( providerRequirements ) )
+ .isEmpty();
+
+ providerInfo = mojo.newJUnit47ProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "org.apache.maven.surefire.junitcore.JUnitCoreProvider" );
+ assertThat( providerInfo.getJpmsArguments( providerRequirements ) )
+ .isEmpty();
+
+ providerInfo = mojo.newTestNgProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "org.apache.maven.surefire.testng.TestNGProvider" );
+ assertThat( providerInfo.getJpmsArguments( providerRequirements ) )
+ .isEmpty();
+
+ providerInfo = mojo.newJUnitPlatformProviderInfo();
+ assertThat( providerInfo.getProviderName() )
+ .isEqualTo( "org.apache.maven.surefire.junitplatform.JUnitPlatformProvider" );
+ List<String[]> args = providerInfo.getJpmsArguments( providerRequirements );
+ assertThat( args )
+ .isNotEmpty()
+ .hasSize( 3 );
+ assertThat( args.get( 0 ) )
+ .isEqualTo( new String[] {"--add-modules", "ALL-MODULE-PATH"} );
+ assertThat( args.get( 1 ) )
+ .isEqualTo( new String[] {
+ "--add-opens", "org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED"} );
+ assertThat( args.get( 2 ) )
+ .isEqualTo( new String[] {
+ "--add-opens", "org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED"} );
+ }
+
private static File mockFile( String absolutePath )
{
File f = mock( File.class );
@@ -428,6 +482,35 @@ public class AbstractSurefireMojoJava7PlusTest
public static class Mojo
extends AbstractSurefireMojo
{
+ ProviderInfo newDynamicProviderInfo()
+ {
+ return new DynamicProviderInfo( "custom.Provider" );
+ }
+
+ ProviderInfo newJUnit3ProviderInfo()
+ {
+ return new JUnit3ProviderInfo();
+ }
+
+ ProviderInfo newJUnit4ProviderInfo()
+ {
+ return new JUnit4ProviderInfo( null, null );
+ }
+
+ ProviderInfo newJUnit47ProviderInfo()
+ {
+ return new JUnitCoreProviderInfo( null, null );
+ }
+
+ ProviderInfo newTestNgProviderInfo()
+ {
+ return new TestNgProviderInfo( null );
+ }
+
+ ProviderInfo newJUnitPlatformProviderInfo()
+ {
+ return new JUnitPlatformProviderInfo( null, null );
+ }
@Override
protected String getPluginName()