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 import java.util.List;
26 import java.util.regex.Matcher;
27 import java.util.regex.Pattern;
28
29
30
31
32
33
34
35 public class MavenITmng3719PomExecutionOrderingTest
36 extends AbstractMavenIntegrationTestCase
37 {
38
39 public MavenITmng3719PomExecutionOrderingTest()
40 {
41 super( "[2.0.11,2.1.0-M1),[2.1.0-M2,4.0.0-alpha-1)" );
42 }
43
44
45
46
47
48
49 public void testitMNG3719()
50 throws Exception
51 {
52 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3719" );
53
54 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
55 verifier.setAutoclean( false );
56 verifier.deleteDirectory( "target" );
57 verifier.executeGoal( "validate" );
58 verifier.verifyErrorFreeLog();
59 verifier.resetStreams();
60
61 Pattern pattern = Pattern.compile( ".*step-([0-9])\\.properties.*" );
62
63 int[] stepLines = new int[3];
64 List<String> content = verifier.loadFile( verifier.getBasedir(), verifier.getLogFileName(), false );
65 for ( int i = 0; i < content.size(); i++ )
66 {
67 String line = (String) content.get( i );
68
69 Matcher m = pattern.matcher( line );
70 if ( m.matches() )
71 {
72 int step = Integer.valueOf( m.group( 1 ) );
73 stepLines[step - 1] = i + 1;
74 }
75 }
76
77
78 assertTrue( "Step 1 should be found", stepLines[0] > 0 );
79 assertTrue( "Step 3 should be second", stepLines[0] < stepLines[2] );
80 assertTrue( "Step 2 should be third", stepLines[2] < stepLines[1] );
81 }
82 }