[ 
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

        

Reply via email to