[
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