1 package org.apache.maven.surefire.its;
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.surefire.its.fixture.OutputValidator;
23 import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
24 import org.apache.maven.surefire.its.fixture.SurefireLauncher;
25 import org.junit.Test;
26
27
28
29
30
31
32 public class IncludesExcludesFromFileIT
33 extends SurefireJUnit4IntegrationTestCase
34 {
35 private SurefireLauncher unpack()
36 {
37 return unpack( "/includes-excludes-from-file" );
38 }
39
40 @Test
41 public void testSimple()
42 {
43 testWithProfile( "simple" );
44 }
45
46 @Test
47 public void testSimpleMixed()
48 {
49 testWithProfile( "simple-mixed" );
50 }
51
52 @Test
53 public void testRegex()
54 {
55 testWithProfile( "regex" );
56 }
57
58 @Test
59 public void testPath()
60 {
61 testWithProfile( "path" );
62 }
63
64 @Test
65 public void testMissingExcludes()
66 {
67 expectBuildFailure("missing-excludes-file", "Failed to load list from file", "no-such-excludes-file");
68 }
69
70 @Test
71 public void testMissingIncludes()
72 {
73 expectBuildFailure( "missing-includes-file", "Failed to load list from file", "no-such-includes-file" );
74 }
75
76 private void testWithProfile( String profile )
77 {
78 final OutputValidator outputValidator = unpack().
79 activateProfile( profile ).executeTest().verifyErrorFree( 2 );
80
81 outputValidator.getTargetFile( "testTouchFile.txt" ).assertFileExists();
82 outputValidator.getTargetFile( "defaultTestTouchFile.txt" ).assertFileExists();
83 }
84
85 private void expectBuildFailure( final String profile, final String... messages )
86 {
87 final OutputValidator outputValidator = unpack().activateProfile( profile )
88 .maven().withFailure().executeTest();
89
90 for ( String message : messages )
91 {
92 outputValidator.verifyTextInLog( message );
93 }
94 }
95 }