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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org