You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2022/05/12 13:16:29 UTC

[uima-uimafit] 01/01: [UIMA-6452] Some tests fail cleaning up their temporary data

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch bugfix/UIMA-6452-Some-tests-fail-cleaning-up-their-temporary-data
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git

commit 45608cbc5b112d2a8257cedc1defd533257e6a4a
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Thu May 12 15:16:20 2022 +0200

    [UIMA-6452] Some tests fail cleaning up their temporary data
    
    - Use runPipeline instead of simply calling engine.process() to ensure that the collectionProcessComplete() lifecycle method is called which then closes the output stream held by the CasDumpWriter and which should then allow the file to be deleted on Windows
---
 .../apache/uima/fit/component/CasDumpWriterTest.java    | 17 ++++++++++++-----
 .../org/apache/uima/fit/factory/JCasBuilderTest.java    |  3 ++-
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/uimafit-core/src/test/java/org/apache/uima/fit/component/CasDumpWriterTest.java b/uimafit-core/src/test/java/org/apache/uima/fit/component/CasDumpWriterTest.java
index 65e3463..e2ac203 100644
--- a/uimafit-core/src/test/java/org/apache/uima/fit/component/CasDumpWriterTest.java
+++ b/uimafit-core/src/test/java/org/apache/uima/fit/component/CasDumpWriterTest.java
@@ -18,17 +18,21 @@
  */
 package org.apache.uima.fit.component;
 
+import static java.nio.file.Files.newInputStream;
 import static org.apache.commons.io.FileUtils.readFileToString;
+import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine;
+import static org.apache.uima.fit.pipeline.SimplePipeline.runPipeline;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
+import java.io.InputStream;
 import java.nio.file.Path;
+import java.nio.file.Paths;
 
 import org.apache.uima.analysis_engine.AnalysisEngine;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.util.CasIOUtil;
 import org.apache.uima.jcas.JCas;
+import org.apache.uima.util.CasIOUtils;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
 
@@ -38,11 +42,14 @@ public class CasDumpWriterTest {
   public void test(@TempDir Path folder) throws Exception {
     File outputFile = folder.resolve("dump-output.txt").toFile();
 
-    AnalysisEngine writer = AnalysisEngineFactory.createEngine(CasDumpWriter.class,
+    AnalysisEngine writer = createEngine(CasDumpWriter.class, //
             CasDumpWriter.PARAM_OUTPUT_FILE, outputFile.getPath());
+
     JCas jcas = writer.newJCas();
-    CasIOUtil.readJCas(jcas, new File("src/test/resources/data/docs/test.xmi"));
-    writer.process(jcas);
+    try (InputStream is = newInputStream(Paths.get("src/test/resources/data/docs/test.xmi"))) {
+        CasIOUtils.load(is, jcas.getCas());
+    }
+    runPipeline(jcas, writer);
     assertTrue(outputFile.exists());
 
     String reference = readFileToString(new File("src/test/resources/data/reference/test.xmi.dump"),
diff --git a/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasBuilderTest.java b/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasBuilderTest.java
index 151d092..04202dc 100644
--- a/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasBuilderTest.java
+++ b/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasBuilderTest.java
@@ -20,6 +20,7 @@ package org.apache.uima.fit.factory;
 
 import static org.apache.commons.io.FileUtils.readFileToString;
 import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine;
+import static org.apache.uima.fit.pipeline.SimplePipeline.runPipeline;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.File;
@@ -56,7 +57,7 @@ public class JCasBuilderTest extends ComponentTestBase {
     File outputFile = folder.resolve("dump-output.txt").toFile();
     AnalysisEngine writer = createEngine(CasDumpWriter.class, //
             CasDumpWriter.PARAM_OUTPUT_FILE, outputFile.getPath());
-    writer.process(jb.getJCas());
+    runPipeline(jb.getJCas(), writer);
 
     String reference = readFileToString(
             new File("src/test/resources/data/reference/JCasBuilderTest.dump"), "UTF-8").trim();