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" );
     }
-}
 
+}