2.4-SNAPSHOT does not execute TestNG suite/test in correct order, collab does
-----------------------------------------------------------------------------

                 Key: SUREFIRE-396
                 URL: http://jira.codehaus.org/browse/SUREFIRE-396
             Project: Maven Surefire
          Issue Type: Bug
            Reporter: Elias Ross
         Attachments: testsf-testng.zip


Please view and the attached .zip file containing two TestNG tests and one 
"Base" TestNG test, as well as the pom.xml etc.

Here is the output with surefire plugin 2.4-SNAPSHOT:

$ mvn test
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
[Parser] Running:
  Command line suite

Running Command line suite
beforeSuite
beforeTest [EMAIL PROTECTED]
SF2Test.testTrue
SFTest.testTrue
afterTest [EMAIL PROTECTED]
afterSuite
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.125 sec <<< 
FAILURE!

With 2.4-collab-SNAPSHOT:
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
[Parser] Running:
  Command line suite

beforeSuite
Running com.autodesk.testsf.SFTest
beforeTest [EMAIL PROTECTED]
SFTest.testTrue
afterTest [EMAIL PROTECTED]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
Running com.autodesk.testsf.SF2Test
beforeTest [EMAIL PROTECTED]
SF2Test.testTrue
afterTest [EMAIL PROTECTED]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
afterSuite

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0


SFTest and SF2Test both extend from BaseTest. Here are the classes, for your 
reference:

public abstract class BaseTest {

        protected boolean test = false;

        private static boolean suite = false;

        @BeforeSuite
        public static void beforeSuite() throws Exception {
                System.out.println("beforeSuite");
                suite = true;
        }
        
        @AfterSuite
        public static void afterSuite() throws Exception {
                System.out.println("afterSuite");
                if (!suite)
                        throw new IllegalStateException();
                suite = false;
        }
        
        @BeforeTest
        public void beforeTest() throws Exception {
                System.out.println("beforeTest " + this);
                if (test)
                        throw new IllegalStateException();
                if (!suite)
                        throw new IllegalStateException();
                test = true;
        }

        @AfterTest
        public void afterTest() {
                System.out.println("afterTest " + this);
                test = false;
        }

}


@Test
public class SFTest extends BaseTest {
        
        @Test
        public void testTrue() {
                System.out.println("SFTest.testTrue");
                assertEquals(this.test, true);
        }

}

@Test
public class SF2Test extends BaseTest {
        
        @Test
        public void testTrue() {
                System.out.println("SF2Test.testTrue");
                assertEquals(this.test, true);
        }

}


 ... Can somebody explain the discrepancy? If not, this appears to be a bug



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to