You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/01/16 18:37:55 UTC
svn commit: r735063 -
/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java
Author: bentmann
Date: Fri Jan 16 09:37:54 2009
New Revision: 735063
URL: http://svn.apache.org/viewvc?rev=735063&view=rev
Log:
o Extended IT to check other failure modes, too
Modified:
maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java
Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java?rev=735063&r1=735062&r2=735063&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0095ReactorFailureBehaviorTest.java Fri Jan 16 09:37:54 2009
@@ -23,8 +23,6 @@
import org.apache.maven.it.util.ResourceExtractor;
import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
/**
* This is a test set for <a href="http://jira.codehaus.org/browse/MNG-95">MNG-95</a>.
@@ -37,25 +35,92 @@
{
/**
+ * Test fail-fast reactor behavior. Forces an exception to be thrown in
+ * the first module and checks that the second module is not built and the overall build fails, too.
+ */
+ public void testitFailFast()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.setAutoclean( false );
+ verifier.deleteDirectory( "target" );
+ verifier.deleteDirectory( "subproject/target" );
+ verifier.deleteDirectory( "subproject2/target" );
+ verifier.getCliOptions().add( "--fail-fast" );
+ verifier.setLogFileName( "log-ff.txt" );
+ try
+ {
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.verifyErrorFreeLog();
+ }
+ catch ( VerificationException e )
+ {
+ // expected
+ }
+ verifier.resetStreams();
+
+ verifier.assertFilePresent( "target/touch.txt" );
+ verifier.assertFileNotPresent( "subproject/target/touch.txt" );
+ verifier.assertFileNotPresent( "subproject2/target/touch.txt" );
+ }
+
+ /**
* Test fail-never reactor behavior. Forces an exception to be thrown in
- * the first module, but checks that the second modules is built.
+ * the first module, but checks that the second module is built and the overall build succeeds.
*/
- public void testitMNG95()
+ public void testitFailNever()
throws Exception
{
File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
+
Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- verifier.deleteArtifact( "org.apache.maven.plugins", "maven-it-it-plugin", "1.0", "maven-plugin" );
- List cliOptions = new ArrayList();
- cliOptions.add( "--fail-never" );
- verifier.setCliOptions( cliOptions );
+ verifier.setAutoclean( false );
+ verifier.deleteDirectory( "target" );
+ verifier.deleteDirectory( "subproject/target" );
+ verifier.deleteDirectory( "subproject2/target" );
+ verifier.getCliOptions().add( "--fail-never" );
+ verifier.setLogFileName( "log-fn.txt" );
verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.verifyErrorFreeLog();
+ verifier.resetStreams();
+
verifier.assertFilePresent( "target/touch.txt" );
verifier.assertFileNotPresent( "subproject/target/touch.txt" );
verifier.assertFilePresent( "subproject2/target/touch.txt" );
- verifier.verifyErrorFreeLog();
+ }
+
+ /**
+ * Test fail-at-end reactor behavior. Forces an exception to be thrown in
+ * the first module and checks that the second module is still built but the overall build finally fails.
+ */
+ public void testitFailAtEnd()
+ throws Exception
+ {
+ File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
+
+ Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+ verifier.setAutoclean( false );
+ verifier.deleteDirectory( "target" );
+ verifier.deleteDirectory( "subproject/target" );
+ verifier.deleteDirectory( "subproject2/target" );
+ verifier.getCliOptions().add( "--fail-at-end" );
+ verifier.setLogFileName( "log-fae.txt" );
+ try
+ {
+ verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
+ verifier.verifyErrorFreeLog();
+ }
+ catch ( VerificationException e )
+ {
+ // expected
+ }
verifier.resetStreams();
+ verifier.assertFilePresent( "target/touch.txt" );
+ verifier.assertFileNotPresent( "subproject/target/touch.txt" );
+ verifier.assertFilePresent( "subproject2/target/touch.txt" );
}
-}
+}