Fix tests

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk@1904401 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java b/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java
index 8e40f5c..f01a888 100644
--- a/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java
+++ b/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java
@@ -44,8 +44,14 @@
 import org.apache.batik.test.TestReport;
 
 import org.apache.batik.dom.GenericDOMImplementation;
+import org.apache.commons.io.IOUtils;
 import org.w3c.dom.Document;
 import org.w3c.dom.DOMImplementation;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
 
 /**
  * This test validates that a given rendering sequence, modeled
@@ -216,6 +222,10 @@
 
         InputStream newStream = new ByteArrayInputStream(bos.toByteArray());
 
+        if (xmlEqual(bos.toByteArray())) {
+            return report;
+        }
+
         boolean accurate = true;
         String refLine = null;
         String newLine = null;
@@ -289,6 +299,20 @@
         return report;
     }
 
+    private boolean xmlEqual(byte[] data) throws ParserConfigurationException, IOException, SAXException {
+        byte[] ref = IOUtils.toByteArray(refURL.openStream());
+        if (ref.length == 0) {
+            return false;
+        }
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder db = factory.newDocumentBuilder();
+        Document doc1 = db.parse(refURL.openStream());
+        doc1.normalizeDocument();
+        Document doc2 = db.parse(new ByteArrayInputStream(data));
+        doc2.normalizeDocument();
+        return doc1.isEqualNode(doc2);
+    }
+
     public int computeColumnNumber(String aStr, String bStr){
         if(aStr == null || bStr == null){
             return -1;
@@ -320,7 +344,7 @@
         if(saveSVG == null){
             return;
         }
-
+        saveSVG.getParentFile().mkdirs();
         FileOutputStream os = new FileOutputStream(saveSVG);
         os.write(data);
         os.close();
diff --git a/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java b/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java
index 76a76eb..0d3dde7 100644
--- a/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java
+++ b/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java
@@ -133,25 +133,11 @@
 
     private static List<String> EXCLUDE = Arrays.asList(
 //fail on CI
-"ATransform.defaultContextGeneration",
-"BasicShapes.defaultContextGeneration",
-"BasicShapes2.defaultContextGeneration",
-"BStroke.defaultContextGeneration",
-"Bug4945.defaultContextGeneration",
-"Bug6535.defaultContextGeneration",
-"Bug17965.defaultContextGeneration",
-"Color1.defaultContextGeneration",
 "Color1.renderingCheck",
-"Color2.defaultContextGeneration",
 "Gradient.defaultContextGeneration",
-"IdentityTest.defaultContextGeneration",
 "Lookup.renderingCheck",
-"NegativeLengths.defaultContextGeneration",
 "Rescale.renderingCheck",
-"ShearTest.defaultContextGeneration",
-"TextSpacePreserve.defaultContextGeneration",
 "TextSpacePreserve.renderingCheck",
-"TransformCollapse.defaultContextGeneration",
 "NullSetSVGDocumentTest",
 "samples/tests/spec/scripting/memoryLeak1.svg",
 "samples/tests/spec/scripting/primaryDoc.svg",
diff --git a/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java b/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java
index bebc4f1..41d5ac4 100644
--- a/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java
+++ b/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java
@@ -424,6 +424,7 @@
         FileOutputStream tmpFileOS = null;
 
         try{
+            tmpFile.getParentFile().mkdirs();
             tmpFileOS = new FileOutputStream(tmpFile);
         }catch(IOException e){
             report.setErrorCode(ERROR_CANNOT_CREATE_TEMP_FILE_STREAM);
@@ -649,6 +650,7 @@
     protected void saveImage(BufferedImage img, File imgFile)
         throws IOException {
         if(!imgFile.exists()){
+            imgFile.getParentFile().mkdirs();
             imgFile.createNewFile();
         }
         OutputStream out = new FileOutputStream(imgFile);