You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dan Berindei (Jira)" <ji...@apache.org> on 2020/07/01 12:37:00 UTC

[jira] [Created] (SUREFIRE-1814) Listener System.out.printf is written as multiple lines

Dan Berindei created SUREFIRE-1814:
--------------------------------------

             Summary: Listener System.out.printf is written as multiple lines
                 Key: SUREFIRE-1814
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1814
             Project: Maven Surefire
          Issue Type: Bug
          Components: Maven Surefire Plugin
    Affects Versions: 3.0.0-M5, 3.0.0-M4
            Reporter: Dan Berindei


Our project has a listener that writes progress information using ANSI escape codes. Perhaps in order to avoid the output being captured by Surefire, it saves {{System.out}} to a field in its constructor, and uses the saved {{System.out}} reference to output progress information.

Since 3.0.0-M4, surefire has started replacing {{System.out}} earlier, so now it also captures the output of the listener. This wouldn't be a problem, except the listener's {{printf()}} calls are now written across multiple lines. E.g.

{code:java}
System.out.printf("a%2sb", "1");
{code}

prints this during a test:

{noformat}
a 1b
{noformat}

and this in the listener constructor:

{noformat}
a
 
1
b

{noformat}

I believe this is related to the POM using {{<parallel>classes</parallel>}} and {{<forkCount>1</forkCount>}}. 

Here is a small project reproducing the issue:
https://github.com/danberindei/surefire-out-print-test



--
This message was sent by Atlassian Jira
(v8.3.4#803005)