Julien MASSENET created LUCENE-8146:
---------------------------------------
Summary: 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
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 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: [email protected]
For additional commands, e-mail: [email protected]