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

pottlinger pushed a commit to branch fix/RAT-496
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git


The following commit(s) were added to refs/heads/fix/RAT-496 by this push:
     new 5535e870 RAT-496: Fix FileNotFound if test resource path contains 
spaces
5535e870 is described below

commit 5535e8706aa1c872f15b1b708a1c6222c67f40e3
Author: P. Ottlinger <[email protected]>
AuthorDate: Tue Oct 7 22:20:21 2025 +0200

    RAT-496: Fix FileNotFound if test resource path contains spaces
---
 apache-rat-core/src/test/java/org/apache/rat/ReporterTest.java     | 5 +++--
 .../src/test/java/org/apache/rat/analysis/AnalyserFactoryTest.java | 3 ++-
 .../src/test/java/org/apache/rat/test/utils/Resources.java         | 7 +++++--
 src/changes/changes.xml                                            | 3 +++
 4 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/apache-rat-core/src/test/java/org/apache/rat/ReporterTest.java 
b/apache-rat-core/src/test/java/org/apache/rat/ReporterTest.java
index c9c47f3d..3de3e23e 100644
--- a/apache-rat-core/src/test/java/org/apache/rat/ReporterTest.java
+++ b/apache-rat-core/src/test/java/org/apache/rat/ReporterTest.java
@@ -25,6 +25,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.PrintStream;
+import java.net.URISyntaxException;
 import java.nio.charset.StandardCharsets;
 
 import java.util.Arrays;
@@ -74,7 +75,7 @@ public class ReporterTest {
     File tempDirectory;
     final String basedir;
 
-    ReporterTest() {
+    ReporterTest() throws URISyntaxException {
         basedir = Resources.getExampleResource("exampleData").getPath();
     }
 
@@ -329,7 +330,7 @@ public class ReporterTest {
         }
     }
 
-    private ReportConfiguration initializeConfiguration() {
+    private ReportConfiguration initializeConfiguration() throws 
URISyntaxException {
         Defaults defaults = Defaults.builder().build();
         final File elementsFile = Resources.getExampleResource("exampleData");
         final ReportConfiguration configuration = new ReportConfiguration();
diff --git 
a/apache-rat-core/src/test/java/org/apache/rat/analysis/AnalyserFactoryTest.java
 
b/apache-rat-core/src/test/java/org/apache/rat/analysis/AnalyserFactoryTest.java
index de87d6da..13319f35 100644
--- 
a/apache-rat-core/src/test/java/org/apache/rat/analysis/AnalyserFactoryTest.java
+++ 
b/apache-rat-core/src/test/java/org/apache/rat/analysis/AnalyserFactoryTest.java
@@ -24,6 +24,7 @@ import static 
org.assertj.core.api.Assertions.assertThatThrownBy;
 import java.io.File;
 import java.io.StringWriter;
 
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Stream;
@@ -137,7 +138,7 @@ public class AnalyserFactoryTest {
     }
 
     @Test
-    public void missingFileTest() {
+    public void missingFileTest() throws URISyntaxException {
         final Document document = new FileDocument(basedir,
                 new File(Resources.getExampleResource("exampleData"), 
"not_a_real_file"), DocumentNameMatcher.MATCHES_ALL);
         Defaults defaults = Defaults.builder().build();
diff --git 
a/apache-rat-core/src/test/java/org/apache/rat/test/utils/Resources.java 
b/apache-rat-core/src/test/java/org/apache/rat/test/utils/Resources.java
index 8f52f287..20f3eddf 100644
--- a/apache-rat-core/src/test/java/org/apache/rat/test/utils/Resources.java
+++ b/apache-rat-core/src/test/java/org/apache/rat/test/utils/Resources.java
@@ -25,9 +25,11 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.Reader;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Objects;
 
 /**
@@ -72,11 +74,12 @@ public class Resources {
      * Locates a file in the unpacked example data archive.
      * @param pResource the name of the resource to find.
      * @return the File for the resource.
+     * @throws URISyntaxException in case of path I/O errors with the given 
resource.
      */
-    public static File getExampleResource(String pResource) {
+    public static File getExampleResource(String pResource) throws 
URISyntaxException {
         URL url = Resources.class.getResource("/examples/" + pResource);
         Objects.requireNonNull(url, "/examples/" + pResource + " not found");
-        return new File(url.getFile());
+        return Paths.get(url.toURI()).toFile();
     }
 
     /**
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1c39e48d..35c58fa9 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -72,6 +72,9 @@ The <action> type attribute can be one of:
     </release>
     -->
     <release version="0.17-SNAPSHOT" date="xxxx-yy-zz" description="Current 
SNAPSHOT - release to be done">
+      <action issue="RAT-496" type="fix" dev="pottlinger" due-to="Tilman 
Hausherr">
+        Fix FileNotFoundException if path of test resources contains spaces 
(Windows).
+      </action>
       <action issue="RAT-489" type="add" dev="pottlinger">
         Provide a central known issues section to the RAT homepage in order to 
inform users more directly about already known challenges with the current RAT 
version.
       </action>

Reply via email to