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

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 6d4265846c31fc4ee2cc5a566d22cc73e5c878b7
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Dec 9 17:25:54 2025 +0000

    Don't reject non-file URLs in syntax test entries
---
 .../apache/jena/arq/junit/riot/RiotEvalTest.java   |  1 -
 .../apache/jena/arq/junit/riot/RiotSyntaxTest.java | 46 +++++++++++++---------
 .../apache/jena/riot/stream/TestStreamManager.java | 33 ++++++----------
 3 files changed, 40 insertions(+), 40 deletions(-)

diff --git 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotEvalTest.java 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotEvalTest.java
index 83ff832956..ec348b0083 100644
--- a/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotEvalTest.java
+++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotEvalTest.java
@@ -78,7 +78,6 @@ public class RiotEvalTest extends AbstractManifestTest {
         StreamRDF dest = StreamRDFLib.graph(graph);
         try {
             parser.accept(dest);
-
             if ( ! positiveTest ) {
                 String fragment = fragment(manifestEntry.getURI());
                 if ( fragment != null )
diff --git 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotSyntaxTest.java 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotSyntaxTest.java
index 0b3d0b9a83..092e9a5db1 100644
--- a/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotSyntaxTest.java
+++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/riot/RiotSyntaxTest.java
@@ -27,6 +27,8 @@ import org.apache.jena.arq.junit.manifest.ManifestEntry;
 import org.apache.jena.atlas.io.IO;
 import org.apache.jena.atlas.lib.FileOps;
 import org.apache.jena.atlas.lib.IRILib;
+import org.apache.jena.atlas.lib.Lib;
+import org.apache.jena.irix.IRIs;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RiotException;
 import org.apache.jena.riot.RiotNotFoundException;
@@ -37,7 +39,7 @@ import org.apache.jena.shared.NotFoundException;
 public class RiotSyntaxTest extends AbstractManifestTest {
 
     final private boolean expectLegalSyntax;
-    final private String filename;
+    final private String actionURI;
     final private String baseIRI;
     final private Lang lang;
     final private Consumer<StreamRDF> parser;
@@ -48,36 +50,39 @@ public class RiotSyntaxTest extends AbstractManifestTest {
 
     public RiotSyntaxTest(ManifestEntry entry, String baseIRI, Lang lang, 
boolean positiveTest) {
         super(entry);
-        this.filename = entry.getAction().getURI();
-        this.baseIRI = ( baseIRI == null ) ? filename : baseIRI;
+        this.actionURI = entry.getAction().getURI();
+        this.baseIRI = ( baseIRI == null ) ? actionURI : baseIRI;
         this.expectLegalSyntax = positiveTest;
         this.lang = lang;
         boolean silentWarnings = RiotTestsConfig.allowWarnings(manifestEntry);
         parser = ( baseIRI != null )
-            ? ParsingStepForTest.parse(filename, baseIRI, lang, silentWarnings)
-            : ParsingStepForTest.parse(filename, lang, silentWarnings);
-
+            ? ParsingStepForTest.parse(actionURI, baseIRI, lang, 
silentWarnings)
+            : ParsingStepForTest.parse(actionURI, lang, silentWarnings);
     }
 
     @Override
     public void runTest() {
         StreamRDF stream = StreamRDFLib.sinkNull();
-        // Check so the parse step does not confuse missing with bad syntax.
-        String fn = IRILib.IRIToFilename(filename);
-        if ( ! FileOps.exists(fn) ) {
-            throw new NotFoundException("File not found: "+filename) {
-                @Override public Throwable fillInStackTrace() { return this; }
-            };
+        // If a file, check so the parse step does not confuse missing with 
bad syntax.
+        String uriScheme = IRIs.scheme(actionURI);
+        boolean isLocal = "file".equals(Lib.lowercase(uriScheme));
+        String fn = isLocal ? IRILib.IRIToFilename(actionURI) : actionURI;
+        if (isLocal) {
+            if ( ! FileOps.exists(fn) ) {
+                throw new NotFoundException("File not found: "+actionURI) {
+                    @Override public Throwable fillInStackTrace() { return 
this; }
+                };
+            }
         }
+
         try {
             parser.accept(stream);
             if (! expectLegalSyntax ) {
-                String reason = "Parsing succeeded in a bad syntax test";
+                String reason = "Parsing succeeded in a bad syntax test: 
"+actionURI;
                 outputFailure(reason, fn, null);
-                String s = IO.readWholeFileAsUTF8(fn);
-                System.out.println();
-                System.out.println("== "+filename);
-                System.out.println(s);
+                if ( isLocal )
+                printIfFile(reason, actionURI, fn);
+                System.out.println("== "+actionURI);
                 fail(reason);
             }
         } catch(RiotNotFoundException ex) {
@@ -91,13 +96,16 @@ public class RiotSyntaxTest extends AbstractManifestTest {
         }
     }
 
-    private void outputFailure(String reason, String fn, Throwable th) {
+    private void printIfFile(String reason, String uri, String fn) {
         String s = IO.readWholeFileAsUTF8(fn);
         System.err.println();
-        System.err.println("== "+filename+ " -- "+reason);
+        System.err.println("== "+actionURI+ " -- "+reason);
         System.err.print(s);
         if ( !s.endsWith("\n") )
             System.err.println();
+    }
+
+    private void outputFailure(String reason, String fn, Throwable th) {
         fail("Parsing succeeded in a bad syntax test");
     }
 }
diff --git 
a/jena-arq/src/test/java/org/apache/jena/riot/stream/TestStreamManager.java 
b/jena-arq/src/test/java/org/apache/jena/riot/stream/TestStreamManager.java
index ade7505469..7f97cc34e1 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/stream/TestStreamManager.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/stream/TestStreamManager.java
@@ -40,8 +40,8 @@ import org.apache.jena.riot.system.stream.LocatorHTTP;
 import org.apache.jena.riot.system.stream.StreamManager;
 import org.apache.jena.sparql.util.Context;
 
-public class TestStreamManager
-{
+public class TestStreamManager {
+
     private static final String directory = "testing/RIOT/StreamManager";
     private static final String absDirectory = new 
File(directory).getAbsolutePath();
 
@@ -50,8 +50,8 @@ public class TestStreamManager
     private static StreamManager streamMgrNull;
     private static StreamManager streamMgrStd;
 
-    @BeforeAll static public void beforeClass()
-    {
+    @BeforeAll
+    static public void beforeClass() {
         streamMgrStd = StreamManager.get();
         streamMgrDir = new StreamManager();
         // Not current directory.
@@ -66,13 +66,12 @@ public class TestStreamManager
         streamMgrNull = new StreamManager();
     }
 
-    @AfterAll static public void afterClass()
-    {
+    @AfterAll
+    static public void afterClass() {
         StreamManager.setGlobal(streamMgrStd);
     }
 
-    private static Context context(StreamManager streamMgr)
-    {
+    private static Context context(StreamManager streamMgr) {
         Context context = new Context();
         context.put(SysRIOT.sysStreamManager, streamMgr);
         return context;
@@ -121,31 +120,25 @@ public class TestStreamManager
     @Test public void fm_read_14()  { read("file:D.rj"); }
     @Test public void fm_read_15()  { read("file:D.jsonld"); }
 
-    // TriG
-    // NQuads
-
-    private static void open(StreamManager streamMgr, String dataName, Context 
context)
-    {
+    private static void open(StreamManager streamMgr, String dataName, Context 
context) {
+        StreamManager sMgr = StreamManager.get();
         StreamManager.setGlobal(streamMgr);
-        try {
-            TypedInputStream in = RDFDataMgr.open(dataName, 
StreamManager.get(context));
+        try (TypedInputStream in = RDFDataMgr.open(dataName, 
StreamManager.get(context))) {
             assertNotNull(in);
             IO.close(in);
         } finally {
-            StreamManager.setGlobal(streamMgrStd);
+            StreamManager.setGlobal(sMgr);
         }
     }
 
-    private static void read(String dataName)
-    {
+    private static void read(String dataName) {
         try {
             StreamManager.setGlobal(streamMgrDir);
             Model m = ModelFactory.createDefaultModel();
             RDFDataMgr.read(m, dataName);
-            assertNotEquals(0, m.size(),()->"Read "+dataName);
+            assertNotEquals(0, m.size(), () -> "Read " + dataName);
         } finally {
             StreamManager.setGlobal(streamMgrStd);
         }
     }
 }
-

Reply via email to