Repository: maven-surefire Updated Branches: refs/heads/master bb99b232d -> e29d4e979
[SUREFIRE-1192] Fixed Sonar and FindBug issues Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/e29d4e97 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/e29d4e97 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/e29d4e97 Branch: refs/heads/master Commit: e29d4e97978083e8ec448c0a66a3cbd83c94bea5 Parents: bb99b23 Author: Tibor17 <[email protected]> Authored: Fri Oct 30 01:07:42 2015 +0100 Committer: Tibor17 <[email protected]> Committed: Fri Oct 30 01:07:42 2015 +0100 ---------------------------------------------------------------------- .../plugin/failsafe/IntegrationTestMojo.java | 22 +++++++++++--- .../plugin/surefire/AbstractSurefireMojo.java | 25 +++++++++------- .../surefire/booterclient/ForkStarter.java | 3 +- .../maven/plugin/surefire/SurefirePlugin.java | 31 ++++++++++++-------- .../maven/surefire/testng/TestNGProvider.java | 2 +- .../surefire/testng/TestNGXmlTestSuite.java | 12 ++++---- 6 files changed, 59 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java ---------------------------------------------------------------------- diff --git a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java index 5e0c7ea..fd744fe 100644 --- a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java +++ b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java @@ -21,6 +21,8 @@ package org.apache.maven.plugin.failsafe; import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.apache.maven.artifact.Artifact; @@ -240,7 +242,7 @@ public class IntegrationTestMojo * However, all the failing attempts will be recorded. */ @Parameter( property = "failsafe.rerunFailingTestsCount", defaultValue = "0" ) - protected int rerunFailingTestsCount; + private int rerunFailingTestsCount; /** * (TestNG) List of <suiteXmlFile> elements specifying TestNG suite xml file locations. Note that @@ -279,7 +281,7 @@ public class IntegrationTestMojo * @since 2.7 */ @Parameter( property = "failsafe.runOrder", defaultValue = "filesystem" ) - protected String runOrder; + private String runOrder; /** * A file containing include patterns. Blank lines, or lines starting with # are ignored. If {@code includes} are @@ -645,13 +647,13 @@ public class IntegrationTestMojo public File[] getSuiteXmlFiles() { - return suiteXmlFiles; + return suiteXmlFiles.clone(); } @SuppressWarnings( "UnusedDeclaration" ) public void setSuiteXmlFiles( File[] suiteXmlFiles ) { - this.suiteXmlFiles = suiteXmlFiles; + this.suiteXmlFiles = suiteXmlFiles.clone(); } public String getRunOrder() @@ -676,4 +678,16 @@ public class IntegrationTestMojo { return excludesFile; } + + @Override + protected final List<File> suiteXmlFiles() + { + return hasSuiteXmlFiles() ? Arrays.asList( suiteXmlFiles ) : Collections.<File>emptyList(); + } + + @Override + protected final boolean hasSuiteXmlFiles() + { + return suiteXmlFiles != null && suiteXmlFiles.length != 0; + } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java ---------------------------------------------------------------------- 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 6159263..9c6a30e 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 @@ -692,6 +692,17 @@ public abstract class AbstractSurefireMojo public abstract File getExcludesFile(); + /** + * Calls {@link #getSuiteXmlFiles()} as {@link List list}. + * Never returns <tt>null</tt>. + */ + protected abstract List<File> suiteXmlFiles(); + + /** + * @return <tt>true</tt> if {@link #getSuiteXmlFiles() suite-xml files array} is not empty. + */ + protected abstract boolean hasSuiteXmlFiles(); + public abstract File[] getSuiteXmlFiles(); public abstract void setSuiteXmlFiles( File[] suiteXmlFiles ); @@ -725,7 +736,7 @@ public abstract class AbstractSurefireMojo if ( verifyParameters() && !hasExecutedBefore() ) { DefaultScanResult scan = scanForTestClasses(); - if ( !isValidSuiteXmlFileConfig() && scan.isEmpty() ) + if ( !hasSuiteXmlFiles() && scan.isEmpty() ) { if ( getEffectiveFailIfNoTests() ) { @@ -1429,13 +1440,12 @@ public abstract class AbstractSurefireMojo final boolean isTestNg = testNgArtifact != null; TestArtifactInfo testNg = isTestNg ? new TestArtifactInfo( testNgArtifact.getVersion(), testNgArtifact.getClassifier() ) : null; - List<File> testXml = getSuiteXmlFiles() != null ? Arrays.asList( getSuiteXmlFiles() ) : null; - TestRequest testSuiteDefinition = new TestRequest( testXml, getTestSourceDirectory(), getSpecificTests(), - getRerunFailingTestsCount() ); + TestRequest testSuiteDefinition = new TestRequest( suiteXmlFiles(), getTestSourceDirectory(), + getSpecificTests(), getRerunFailingTestsCount() ); final boolean actualFailIfNoTests; - if ( isValidSuiteXmlFileConfig() && !isSpecificTestSpecified() ) + if ( hasSuiteXmlFiles() && !isSpecificTestSpecified() ) { actualFailIfNoTests = getFailIfNoTests() != null && getFailIfNoTests(); if ( !isTestNg ) @@ -1571,11 +1581,6 @@ public abstract class AbstractSurefireMojo return StringUtils.isNotBlank( getTest() ); } - private boolean isValidSuiteXmlFileConfig() - { - return getSuiteXmlFiles() != null && getSuiteXmlFiles().length != 0; - } - @SuppressWarnings( "checkstyle:modifierorder" ) private @Nonnull List<String> readListFromFile( @Nonnull final File file ) { http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java index 332788b..11710d9 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java @@ -252,8 +252,7 @@ public class ForkStarter private boolean hasSuiteXmlFiles() { TestRequest testSuiteDefinition = providerConfiguration.getTestSuiteDefinition(); - return testSuiteDefinition != null && testSuiteDefinition.getSuiteXmlFiles() != null - && !testSuiteDefinition.getSuiteXmlFiles().isEmpty(); + return testSuiteDefinition != null && !testSuiteDefinition.getSuiteXmlFiles().isEmpty(); } @SuppressWarnings( "checkstyle:magicnumber" ) http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java ---------------------------------------------------------------------- diff --git a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java index 88bb107..7d8044e 100644 --- a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java +++ b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java @@ -20,6 +20,8 @@ package org.apache.maven.plugin.surefire; */ import java.io.File; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; @@ -217,7 +219,7 @@ public class SurefirePlugin * However, all the failing attempts will be recorded. */ @Parameter( property = "surefire.rerunFailingTestsCount", defaultValue = "0" ) - protected int rerunFailingTestsCount; + private int rerunFailingTestsCount; /** * (TestNG) List of <suiteXmlFile> elements specifying TestNG suite xml file locations. Note that @@ -256,7 +258,7 @@ public class SurefirePlugin * @since 2.7 */ @Parameter( property = "surefire.runOrder", defaultValue = "filesystem" ) - protected String runOrder; + private String runOrder; /** * A file containing include patterns. Blank lines, or lines starting with # are ignored. If {@code includes} are @@ -327,15 +329,6 @@ public class SurefirePlugin } } - private void assertNoFailureOrTimeout( Exception summary ) - throws MojoFailureException - { - if ( summary != null ) - { - throw new MojoFailureException( "Failure or timeout" ); - } - } - protected boolean isSkipExecution() { return isSkip() || isSkipTests() || isSkipExec(); @@ -573,13 +566,13 @@ public class SurefirePlugin public File[] getSuiteXmlFiles() { - return suiteXmlFiles; + return suiteXmlFiles.clone(); } @SuppressWarnings( "UnusedDeclaration" ) public void setSuiteXmlFiles( File[] suiteXmlFiles ) { - this.suiteXmlFiles = suiteXmlFiles; + this.suiteXmlFiles = suiteXmlFiles.clone(); } public String getRunOrder() @@ -604,4 +597,16 @@ public class SurefirePlugin { return excludesFile; } + + @Override + protected final List<File> suiteXmlFiles() + { + return hasSuiteXmlFiles() ? Arrays.asList( suiteXmlFiles ) : Collections.<File>emptyList(); + } + + @Override + protected final boolean hasSuiteXmlFiles() + { + return suiteXmlFiles != null && suiteXmlFiles.length != 0; + } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java ---------------------------------------------------------------------- diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java index 3c27b24..6faf033 100644 --- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java +++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java @@ -166,7 +166,7 @@ public class TestNGProvider boolean isTestNGXmlTestSuite( TestRequest testSuiteDefinition ) { Collection<File> suiteXmlFiles = testSuiteDefinition.getSuiteXmlFiles(); - return suiteXmlFiles != null && !suiteXmlFiles.isEmpty() && !hasSpecificTests(); + return !suiteXmlFiles.isEmpty() && !hasSpecificTests(); } private boolean isFailFast() http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/e29d4e97/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java ---------------------------------------------------------------------- diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java index ab9ae7f..72c0846 100644 --- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java +++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java @@ -99,13 +99,13 @@ public class TestNGXmlTestSuite throw new IllegalStateException( "You can't call locateTestSets twice" ); } - if ( this.suiteFiles == null ) + if ( suiteFiles.isEmpty() ) { throw new IllegalStateException( "No suite files were specified" ); } - this.testSets = new HashMap<File, String>(); - this.suiteFilePaths = new ArrayList<String>(); + testSets = new HashMap<File, String>(); + suiteFilePaths = new ArrayList<String>(); for ( Object suiteFile : suiteFiles ) { @@ -114,11 +114,11 @@ public class TestNGXmlTestSuite { throw new TestSetFailedException( "Suite file " + file + " is not a valid file" ); } - this.testSets.put( file, file.getAbsolutePath() ); - this.suiteFilePaths.add( file.getAbsolutePath() ); + testSets.put( file, file.getAbsolutePath() ); + suiteFilePaths.add( file.getAbsolutePath() ); } - return this.testSets; + return testSets; } public String getSuiteName()
