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