[
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