1   package org.apache.maven.surefire.its;
2   
3   
4   import junit.framework.TestCase;
5   import org.apache.maven.it.Verifier;
6   import org.apache.maven.it.util.ResourceExtractor;
7   
8   import java.io.File;
9   import java.util.ArrayList;
10  import java.util.List;
11  
12  /**
13   * Basic suite test using all known versions of TestNG
14   * 
15   * @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
16   * 
17   */
18  public class TestNgVersionsTest
19      extends TestCase
20  {
21      
22      public void test47 () throws Exception
23      {
24          runTestNgTest( "4.7" );
25      }
26      
27      // DGF SUREFIRE-375 + MAVENUPLOAD-1024
28      // The 5.0 and 5.0.1 jars on central are malformed
29      public void XXXtest50 () throws Exception
30      {
31          runTestNgTest( "5.0" );
32      }
33      
34      public void XXXtest501 () throws Exception
35      {
36          runTestNgTest( "5.0.1" );
37      }
38      
39      public void test502 () throws Exception
40      {
41          runTestNgTest( "5.0.2" );
42      }
43      
44      public void test51 () throws Exception
45      {
46          runTestNgTest( "5.1" );
47      }
48      
49      public void test55 () throws Exception
50      {
51          runTestNgTest( "5.5" );
52      }
53      
54      public void test56 () throws Exception
55      {
56          runTestNgTest( "5.6" );
57      }
58      
59      public void test57 () throws Exception
60      {
61          runTestNgTest( "5.7" );
62      }
63      
64      public void runTestNgTest (String version)
65          throws Exception
66      {
67          File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-simple" );
68  
69          Verifier verifier = new Verifier( testDir.getAbsolutePath() );
70          List arguments = new ArrayList();
71          arguments.add( "test" );
72          // DGF we have to pass in the version as a command line argument
73          // and NOT as a system property; otherwise our setting will be ignored
74          arguments.add( "-DtestNgVersion=" + version );
75          verifier.executeGoals( arguments );
76          verifier.verifyErrorFreeLog();
77          verifier.resetStreams();
78          
79          ITSuiteResults suite = HelperAssertions.parseTestResults( testDir );
80          HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, suite );
81      }
82  }