1 package org.apache.maven.it;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.it.Verifier;
23 import org.apache.maven.it.util.ResourceExtractor;
24
25 import java.io.File;
26
27
28
29
30
31
32
33 public class MavenITmng0095ReactorFailureBehaviorTest
34 extends AbstractMavenIntegrationTestCase
35 {
36 public MavenITmng0095ReactorFailureBehaviorTest()
37 {
38 super( ALL_MAVEN_VERSIONS );
39 }
40
41
42
43
44
45 public void testitFailFast()
46 throws Exception
47 {
48 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
49
50 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
51 verifier.setAutoclean( false );
52 verifier.deleteDirectory( "target" );
53 verifier.deleteDirectory( "subproject1/target" );
54 verifier.deleteDirectory( "subproject2/target" );
55 verifier.deleteDirectory( "subproject3/target" );
56 verifier.getCliOptions().add( "--fail-fast" );
57 verifier.setLogFileName( "log-ff.txt" );
58 try
59 {
60 verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
61 verifier.verifyErrorFreeLog();
62 }
63 catch ( VerificationException e )
64 {
65
66 }
67 verifier.resetStreams();
68
69 verifier.assertFilePresent( "target/touch.txt" );
70 verifier.assertFileNotPresent( "subproject1/target/touch.txt" );
71 verifier.assertFileNotPresent( "subproject2/target/touch.txt" );
72 verifier.assertFileNotPresent( "subproject3/target/touch.txt" );
73 }
74
75
76
77
78
79 public void testitFailNever()
80 throws Exception
81 {
82 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
83
84 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
85 verifier.setAutoclean( false );
86 verifier.deleteDirectory( "target" );
87 verifier.deleteDirectory( "subproject1/target" );
88 verifier.deleteDirectory( "subproject2/target" );
89 verifier.deleteDirectory( "subproject3/target" );
90 verifier.getCliOptions().add( "--fail-never" );
91 verifier.setLogFileName( "log-fn.txt" );
92 verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
93 verifier.resetStreams();
94
95 verifier.assertFilePresent( "target/touch.txt" );
96 verifier.assertFileNotPresent( "subproject1/target/touch.txt" );
97 verifier.assertFilePresent( "subproject2/target/touch.txt" );
98 verifier.assertFilePresent( "subproject3/target/touch.txt" );
99 }
100
101
102
103
104
105
106 public void testitFailAtEnd()
107 throws Exception
108 {
109 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0095" );
110
111 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
112 verifier.setAutoclean( false );
113 verifier.deleteDirectory( "target" );
114 verifier.deleteDirectory( "subproject1/target" );
115 verifier.deleteDirectory( "subproject2/target" );
116 verifier.deleteDirectory( "subproject3/target" );
117 verifier.getCliOptions().add( "--fail-at-end" );
118 verifier.setLogFileName( "log-fae.txt" );
119 try
120 {
121 verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-touch:touch" );
122 verifier.verifyErrorFreeLog();
123 }
124 catch ( VerificationException e )
125 {
126
127 }
128 verifier.resetStreams();
129
130 verifier.assertFilePresent( "target/touch.txt" );
131 verifier.assertFileNotPresent( "subproject1/target/touch.txt" );
132 verifier.assertFilePresent( "subproject2/target/touch.txt" );
133 verifier.assertFileNotPresent( "subproject3/target/touch.txt" );
134 }
135
136 }