[ 
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

        

Reply via email to