[ https://jira.codehaus.org/browse/SUREFIRE-800?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
nkeywal updated SUREFIRE-800: ----------------------------- Attachment: 800.v1.patch Hi Kristian, In 800.v1.patch, I tried the NonConcurrentReportManager approach, it covers the cases with forkMode=always or perthread, i.e. the ones that are more likely to have outputs outside of the tested methods themselves. Unit & Integration tests are ok. It seems to work well on our project as well. With forkMode=perthread, the tests results (stuff like: {noformat} Running org.apache.hadoop.hbase.util.hbck.TestOfflineMetaRebuildBase Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.671 sec {noformat} are not synchronized at all anymore. It happens sometimes already on 2.12 (when two tests are finishing simultaneously), but now it happens all the time. I think the simplest way to fix this would be to do add the shortened class name in the result, like {noformat} Tests run (oahhuh.TestOfflineMetaRebuildBase): 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.671 sec {noformat} This said, even if it stays like this it fine for us. Tell me if you want me to change something, it would be great if it could be integrated. > redirectTestOutputToFile is not taken into account in all cases with JUnit47 > provider > ------------------------------------------------------------------------------------- > > Key: SUREFIRE-800 > URL: https://jira.codehaus.org/browse/SUREFIRE-800 > Project: Maven Surefire > Issue Type: Bug > Components: Junit 4.7+ (parallel) support > Affects Versions: 2.10 > Environment: all > Reporter: nkeywal > Attachments: 800.v1.patch > > > With the following class: > {noformat} > public class Test0 { > public Test0(){ > System.out.println("Constructor"); > } > @Test > public void testT0() throws Exception { > System.out.println("testT0"); > } > @Test > public void testT1() throws Exception { > System.out.println("testT1"); > } > @BeforeClass > public static void setUpBeforeClass() throws Exception { > System.out.println("setUpBeforeClass"); > } > @AfterClass > public static void tearDownAfterClass() throws Exception { > System.out.println("tearDownAfterClass"); > } > @Before > public void setUp() throws Exception { > System.out.println("setUp"); > } > @After > public void tearDown() throws Exception { > System.out.println("tearDown"); > } > } > {noformat} > Some elements of the output are not redirected with JUNit47. > {noformat} > Concurrency config is parallel='none', perCoreThreadCount=true, > threadCount=2, useUnlimitedThreads=false > setUpBeforeClass > Constructor > Constructor > tearDownAfterClass > Running Test0 > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec > {noformat} > While it's ok with with JUNit4: > {noformat} > ------------------------------------------------------- > T E S T S > ------------------------------------------------------- > Running Test0 > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.09 sec > {noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira