You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jason Dillon (JIRA)" <ji...@codehaus.org> on 2007/04/02 03:04:19 UTC

[jira] Updated: (SUREFIRE-315) The redirectTestOutputToFile does not handle output before tests, nor does it handle capturing output on both streams

     [ http://jira.codehaus.org/browse/SUREFIRE-315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Dillon updated SUREFIRE-315:
----------------------------------

    Attachment: SUREFIRE-315.diff

Attached patch replaces ForkingStreamConsumer with a ForkingStreamConsumerPair, which has a nested MuxedStreamConsumer and getOut(), getErr() accessors to allow SurefireBooter to get references to the consumers.

Includes ForkingStreamConsumerPairTest (which is a shallow update to ForkingStreamConsumerTest) to verify that it works, though does not cover both streams.

Removes these files:

 * surefire-booter/src/test/java/org/apache/maven/surefire/booter/output/ForkingStreamConsumerTest.java
 * surefire-booter/src/main/java/org/apache/maven/surefire/booter/output/ForkingStreamConsumer.java
 * surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkingWriterStreamConsumer.java

Adds these files:

 *  surefire-booter/src/main/java/org/apache/maven/surefire/booter/output/ForkingStreamConsumerPair.java
 * surefire-booter/src/test/java/org/apache/maven/surefire/booter/output/ForkingStreamConsumerPairTest.java

When writing output to -output.txt, bits from STDOUT are prefixed with [OUT] and bits from STDERR are prefixed with [ERR].  Output is synchronized to make sure that messages are put into the output file in order.

And when no test is started it spits out to the plugin's STDOUT "UNEXPECTED: " + line, which is not ideal, but functions well enough for now.


> The redirectTestOutputToFile does not handle output before tests, nor does it handle capturing output on both streams
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-315
>                 URL: http://jira.codehaus.org/browse/SUREFIRE-315
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.3
>            Reporter: Jason Dillon
>            Priority: Critical
>         Attachments: SUREFIRE-315.diff
>
>
> The redirectTestOutputToFile feature does not handle cases when output is soaked up before the tests actually run, like output from static blocks or from test case constructors.  If output is detected before the testSetStarting is invoked, then all further output will be due to a thrown ISE, which gets eatten up somewhere in surefire.
> Additionally, when a test outputs to STDOUT and STDERR, the output is not muxed properly into the -output.txt file. 

-- 
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