You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2018/01/31 16:09:00 UTC
[jira] [Commented] (LUCENE-8146) Unit tests using StringHelper fail
with ExceptionInInitializerError for maven surefire >= 2.18
[ https://issues.apache.org/jira/browse/LUCENE-8146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347065#comment-16347065 ]
Robert Muir commented on LUCENE-8146:
-------------------------------------
{quote}
There was a change in Surefire's behavior starting with 2.18: when a property is empty, instead of not sending it to the test runner, it will be sent with an empty value.
{quote}
This seems like the bug that needs to be fixed. I don't think lucene should suffer the leniency/complexity because of it.
> Unit tests using StringHelper fail with ExceptionInInitializerError for maven surefire >= 2.18
> ----------------------------------------------------------------------------------------------
>
> Key: LUCENE-8146
> URL: https://issues.apache.org/jira/browse/LUCENE-8146
> Project: Lucene - Core
> Issue Type: Bug
> Affects Versions: 7.2.1
> Reporter: Julien MASSENET
> Priority: Minor
> Attachments: LUCENE-8146-seed_issue.tar.gz, LUCENE-8146_v1.patch
>
>
> This happens when multiple conditions are met:
> * The client code is built with Maven
> * To execute its unit tests, the client code relies on the {{maven-surefire-plugin}}, with a version greater than 2.17 (last working version)
> * The client code uses the {{org.apache.lucene.util.StringHelper}} class (even transitively)
> * The client is configured as with the standard Lucene maven build (i.e. it is possible to fix the test seed using the {{tests.seed}} property)
> There was a change in Surefire's behavior starting with 2.18: when a property is empty, instead of not sending it to the test runner, it will be sent with an empty value.
> This behavior can be observed with the attached sample project:
> * {{mvn test}}: fails with a {{java.lang.ExceptionInInitializerError}}
> * {{mvn test -Dtests.seed=123456}}: succeeds because the property is set to a real value
> * {{mvn test -Dsurefire.version=2.17}}: succeeds because the surefire version is lower than 2.18
> Attached is a patch (built against \{{branch_7x}}) that centralizes accesses to the {{tests.seed}} system property; it also makes sure that if it is empty, it is treated as absent.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org