You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by df...@apache.org on 2007/12/19 22:09:49 UTC
svn commit: r605699 - in /maven/surefire/trunk:
maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java
Author: dfabulich
Date: Wed Dec 19 13:09:48 2007
New Revision: 605699
URL: http://svn.apache.org/viewvc?rev=605699&view=rev
Log:
[SUREFIRE-411] Allow users to set -Dtest=SingleTest -DfailIfNoTests=false, to run a single test in a reactor build.
Modified:
maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java
Modified: maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java?rev=605699&r1=605698&r2=605699&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java (original)
+++ maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java Wed Dec 19 13:09:48 2007
@@ -263,11 +263,11 @@
private boolean redirectTestOutputToFile;
/**
- * Set this to "true" to cause a failure if there are no tests to run.
+ * Set this to "true" to cause a failure if there are no tests to run. Defaults to false.
*
- * @parameter expression="${failIfNoTests}" default-value="false"
+ * @parameter expression="${failIfNoTests}"
*/
- private boolean failIfNoTests;
+ private Boolean failIfNoTests;
/**
* Option to specify the forking mode. Can be "never", "once" or "always". "none" and "pertest" are also accepted
@@ -489,9 +489,9 @@
if ( result == SurefireBooter.NO_TESTS_EXIT_CODE )
{
- if ( !failIfNoTests ) return;
+ if ( ( failIfNoTests == null ) || !failIfNoTests.booleanValue() ) return;
// TODO: i18n
- throw new MojoFailureException( "No tests were executed!" );
+ throw new MojoFailureException( "No tests were executed! (Set -DfailIfNoTests=false to ignore this error.)" );
} else {
// TODO: i18n
msg = "There are test failures.\n\nPlease refer to " + reportsDirectory + " for the individual test results.";
@@ -520,7 +520,7 @@
if ( !testClassesDirectory.exists() )
{
- if ( failIfNoTests )
+ if ( failIfNoTests != null && failIfNoTests.booleanValue() )
{
throw new MojoFailureException( "No tests to run!" );
}
@@ -670,8 +670,11 @@
includes = new ArrayList();
excludes = new ArrayList();
-
- failIfNoTests = true;
+
+ if ( failIfNoTests == null )
+ {
+ failIfNoTests = Boolean.TRUE;
+ }
String[] testRegexes = StringUtils.split( test, "," );
@@ -840,8 +843,8 @@
}
}
}
-
- surefireBooter.setFailIfNoTests( failIfNoTests );
+
+ surefireBooter.setFailIfNoTests( failIfNoTests == null ? false : failIfNoTests.booleanValue() );
surefireBooter.setForkedProcessTimeoutInSeconds( forkedProcessTimeoutInSeconds );
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java?rev=605699&r1=605698&r2=605699&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestSingleTest.java Wed Dec 19 13:09:48 2007
@@ -78,5 +78,23 @@
File reportsDir = new File( testDir, "target/surefire-reports" );
assertFalse ( "Unexpected reports directory", reportsDir.exists() );
}
-
+
+ public void testSingleTestNonExistentOverride()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ List goals = new ArrayList();
+ goals.add( "test" );
+ goals.add( "-Dtest=DoesNotExist" );
+ goals.add( "-DfailIfNoTests=false" );
+ verifier.executeGoals( goals );
+
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
+ File reportsDir = new File( testDir, "target/surefire-reports" );
+ assertFalse ( "Unexpected reports directory", reportsDir.exists() );
+ }
}