IVY-1648 some tests are failing on Java8
diff --git a/asciidoc/release-notes.adoc b/asciidoc/release-notes.adoc
index 782e75d..d0fd7c3 100644
--- a/asciidoc/release-notes.adoc
+++ b/asciidoc/release-notes.adoc
@@ -43,6 +43,7 @@
*List of changes since Ivy 2.5.2:*
- FIX: trying to set safe XML features causes SAXExceptions when used with certain XML parsers (jira:IVY-1647[])
+- FIX: some unit tests failed on Java 8 (jira:IVY-1648[]) (Thanks to Adrien Piquerez)
////
Samples :
diff --git a/test/java/org/apache/ivy/core/resolve/ResolveTest.java b/test/java/org/apache/ivy/core/resolve/ResolveTest.java
index 5c61142..4dba1e5 100644
--- a/test/java/org/apache/ivy/core/resolve/ResolveTest.java
+++ b/test/java/org/apache/ivy/core/resolve/ResolveTest.java
@@ -323,9 +323,8 @@
int expectedNumberOfDependencies) {
Ivy ivy = new Ivy();
Throwable th = null;
- Properties p = System.getProperties();
+ Properties p = (Properties) System.getProperties().clone();
try {
- System.setProperties(new Properties());
System.setProperty(XMLHelper.ALLOW_DOCTYPE_PROCESSING, "true");
if (externalResourcesSystemProperty != null) {
System.setProperty(XMLHelper.EXTERNAL_RESOURCES, externalResourcesSystemProperty);
diff --git a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java
index c38eca3..df0ce6a 100644
--- a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java
+++ b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleUpdaterTest.java
@@ -37,6 +37,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import org.apache.ivy.Ivy;
import org.apache.ivy.core.module.descriptor.Artifact;
@@ -47,14 +48,28 @@
import org.apache.ivy.core.settings.IvySettings;
import org.apache.ivy.plugins.repository.BasicResource;
import org.apache.ivy.util.FileUtil;
+import org.apache.ivy.util.XMLHelper;
import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
public class XmlModuleUpdaterTest {
+ // Java8 tries to load ivy.xsd mentioned in
+ // xsd:noNamespaceLocation via https bypassing our UriResolver so
+ // we must allow using http(s) (and thus all) and external entities
+ private final Properties p = (Properties) System.getProperties().clone();
+
+ @Before
+ public void setUp() {
+ System.setProperty(XMLHelper.ALLOW_DOCTYPE_PROCESSING, "true");
+ System.setProperty(XMLHelper.EXTERNAL_RESOURCES, "all");
+ }
+
@After
public void tearDown() {
XmlModuleDescriptorUpdater.LINE_SEPARATOR = System.lineSeparator();
+ System.setProperties(p);
}
@Test