maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Passaro <john.a.pass...@gmail.com>
Subject Re: [surefire] possible bug: cannot set line.separator in systemPropertyVariables
Date Wed, 08 May 2019 23:05:17 GMT
Thanks folks for your input.

Reading on the user list archive, I'm realizing my premise may have been
unclear if you only read it here:
I didn't use a literal 0x0A byte in the pom, I used the xml entity.
I'll put it as a java expression in hopes that clients do not render it
as a literal line feed and potentially cause further confusion:
"&" + "#x0A;"

On 2019/05/07 21:06:43, Tibor Digana <t...@apache.org> wrote:
> line.separator cannot be set as system property, use
> <argLine>-Dline.separator=...</argLine> instead

Is there a way to do this and quote the desired value? I would guess the
line feed would be interpreted as a word boundary and the effect would be
to set line.separator to the empty string.

> What version of plugin you use?
2.18.1.

> Where you see the stack trace? In console, in text report or XML report?

It most obviously showed up in a place where my tests are comparing a stack
trace generated by calling guava Throwables.getStackTraceAsString(),
to an expected constant that includes plain unix-style line feeds.
When the pom has line.separator, those stack traces are rendered without
any line breaks at all, and the test fails. I can also see the weird-looking
stack trace, and many others with the same problem, on the console.

> Perhaps we have to see your project. You can post the code with POM on Gist
> but I think we cannot help you more unless we see the POM and try out.

This is fair. Unfortunately I'm not at liberty to share my code (proprietary).
Tried to make a minimum complete reproducible example using
mvn archetype:generate
-DarchetypeArtifactId=maven-archetype-quickstart
-DarchetypeVersion=1.4,
but I was unable to reproduce the problem.
If there's anything else I can answer about the pom I'd be happy to do so.

I'd also like to call brief attention to my big picture:
if tests are passing on a LF system and not on a CRLF system,
I'd like to be able to debug that failure even though my own OS is
Unixy. Does anybody know a proven method to do that in surefire,
or a reason why it is impractical and should not be attempted?
Such information could make this whole conversation moot.

On 2019/05/07 21:11:41, Laird Nelson <l...@gmail.com> wrote:
>
> (a) I thought <systemPropertyVariables> in a forked>
> execution were indeed passed on the command line as -D arguments,

How can I tell whether execution is forked for my project?
"grep fork pom.xml" prints nothing.

> (b) the behavior may have to do instead with the fact that whitespace in XML is>
> generally not significant so after &#x0A; is expanded it is effectively>
> stripped/trimmed from the XML yielding the empty string

This strikes me as the most likely explanation.

> (c) the OP>
> could try CDATA and an actual line separator character instead, maybe?>

Tried this both on my project and on the MCRE I mentioned above.
Each behaved the same as with the &-based entity.

Thanks all. I'm very grateful for your time and input.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message