You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ss...@apache.org on 2022/10/04 12:54:33 UTC

svn commit: r1904401 - in /xmlgraphics/batik/trunk: batik-test-old/src/test/java/org/apache/batik/svggen/ batik-test-old/src/test/java/org/apache/batik/test/xml/ batik-test-svg/src/main/java/org/apache/batik/test/svg/

Author: ssteiner
Date: Tue Oct  4 12:54:33 2022
New Revision: 1904401

URL: http://svn.apache.org/viewvc?rev=1904401&view=rev
Log:
Fix tests

Modified:
    xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java
    xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java
    xmlgraphics/batik/trunk/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java

Modified: xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java?rev=1904401&r1=1904400&r2=1904401&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java (original)
+++ xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/svggen/SVGAccuracyTest.java Tue Oct  4 12:54:33 2022
@@ -44,8 +44,14 @@ import org.apache.batik.test.DefaultTest
 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 @@ public class SVGAccuracyTest extends Abs
 
         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 @@ public class SVGAccuracyTest extends Abs
         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 @@ public class SVGAccuracyTest extends Abs
         if(saveSVG == null){
             return;
         }
-
+        saveSVG.getParentFile().mkdirs();
         FileOutputStream os = new FileOutputStream(saveSVG);
         os.write(data);
         os.close();

Modified: xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java?rev=1904401&r1=1904400&r2=1904401&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java (original)
+++ xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/test/xml/JUnitRunnerTestCase.java Tue Oct  4 12:54:33 2022
@@ -133,25 +133,11 @@ public class JUnitRunnerTestCase {
 
     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",

Modified: xmlgraphics/batik/trunk/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java?rev=1904401&r1=1904400&r2=1904401&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java (original)
+++ xmlgraphics/batik/trunk/batik-test-svg/src/main/java/org/apache/batik/test/svg/AbstractRenderingAccuracyTest.java Tue Oct  4 12:54:33 2022
@@ -424,6 +424,7 @@ public abstract class AbstractRenderingA
         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 @@ public abstract class AbstractRenderingA
     protected void saveImage(BufferedImage img, File imgFile)
         throws IOException {
         if(!imgFile.exists()){
+            imgFile.getParentFile().mkdirs();
             imgFile.createNewFile();
         }
         OutputStream out = new FileOutputStream(imgFile);