[ 
https://jira.codehaus.org/browse/SUREFIRE-800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285815#comment-285815
 ] 

Kristian Rosenvold commented on SUREFIRE-800:
---------------------------------------------

Due to the fact the JUnit does not demarcate class start/stop in any sensible 
way in the notification api, getting this issue /right/ is a *lot* harder than 
it seems, maybe even impossible for parallel="classes". For "methods" it may be 
possible to make it reliable, and "both" I am simply not sure of.

There are some threading notes written in ConcurrentReporterManager, and the 
main problem is to determine when one class has finished and another has 
started, so attaching "class" level output to any given test-class correctly is 
hard/impossible. I have tried several times to fix this, and after a few hours 
I always realize this is not possible/wont work well. Again, the main problem 
here should really be fixed in the JUnit project as far as I can understand.

Someone might want to try to make a patch for "methods"; I'm moving this issue 
to the backlog until such a patch shows up 
                
> 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
>             Fix For: Backlog
>
>
> 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