JUnit suite() method ends up being called twice when tests are run with Surefire --------------------------------------------------------------------------------
Key: SUREFIRE-47 URL: http://jira.codehaus.org/browse/SUREFIRE-47 Project: surefire Type: Bug Versions: 2.0 Environment: maven 2.0.4, ant 1.6.5, this is on MacOSX 10.4.6 Reporter: toli kuznets Attachments: surefireBug.tar JUnit defines that the static suite() method is only instantiated once. However, the recent release of surefire (2.0) seems to call the suite() method twice. the first time it's called from during the creation of all suites (see the first stacktrace in the attached test.out files) - the JUnitTestSet calls "suite()" to instantiate a test object so that it can call countTestCases() on it. The second time the suite() method is called during the actual test execution, when Surefire.run() iterates over all the collected test suites and eventually calls into JUnitTestSet.execute() method. a sample project is attached. I added an exception stacktrace into every occurence of the suite() method. there's also a build.xml file to run the 'ant test' command for comparison. There's also a test.out file with the sample output. Suggested fixes: Is it possible to pass the suite itself to the JUnitTestSet w/out having to create it again? We rely on suite() being called only once, and create one-time operations there (such as creating a few singletons) so this bug is a pain. -- 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