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 <[email protected]>
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();

Reply via email to