1   package org.apache.maven.surefire.its;
2   
3   
4   import junit.framework.TestCase;
5   import org.apache.maven.it.VerificationException;
6   import org.apache.maven.it.Verifier;
7   import org.apache.maven.it.util.ResourceExtractor;
8   
9   import java.io.File;
10  import java.util.ArrayList;
11  import java.util.List;
12  
13  /**
14   * Test failIfNoTests
15   * 
16   * @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
17   * 
18   */
19  public class TestFailIfNoTests
20      extends TestCase
21  {
22      public void testFailIfNoTests ()
23          throws Exception
24      {
25          File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration-noTests" );
26  
27          Verifier verifier = new Verifier( testDir.getAbsolutePath() );
28          List goals = new ArrayList();
29          goals.add( "test" );
30          goals.add( "-DfailIfNoTests" );
31  
32          try
33          {
34              verifier.executeGoals( goals );
35              verifier.resetStreams();
36              verifier.verifyErrorFreeLog();
37              fail( "Build didn't fail, but it should" );
38          }
39          catch ( VerificationException e )
40          {
41              // as expected
42          }
43          finally
44          {
45              verifier.resetStreams();
46          }
47                  
48      }
49      
50      public void testDontFailIfNoTests()
51          throws Exception
52      {
53          File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration-noTests" );
54  
55          Verifier verifier = new Verifier( testDir.getAbsolutePath() );
56          verifier.executeGoal( "test" );
57          verifier.verifyErrorFreeLog();
58          verifier.resetStreams();
59  
60          File reportsDir = new File( testDir, "target/surefire-reports" );
61          assertFalse ( "Unexpected reports directory", reportsDir.exists() );
62      }
63  
64  }