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

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


The following commit(s) were added to refs/heads/main by this push:
     new 9fc560423d GH-3236: JUnit6 for jena-core test-only turtle reader
9fc560423d is described below

commit 9fc560423de15036fe263f1807974fab48bbcc6b
Author: Andy Seaborne <[email protected]>
AuthorDate: Thu Jun 18 09:14:41 2026 +0100

    GH-3236: JUnit6 for jena-core test-only turtle reader
---
 .../TurtleTestReader.java}                         |  16 +-
 .../turtle => core_ttl/parser}/LabelToNodeMap.java |   2 +-
 .../turtle => core_ttl/parser}/ParserTurtle.java   |   8 +-
 .../parser}/Turtle2NTriples.java                   |   2 +-
 .../parser}/TurtleEventDump.java                   |   2 +-
 .../parser}/TurtleEventHandler.java                |   2 +-
 .../parser}/TurtleEventNull.java                   |   2 +-
 .../parser}/TurtleParseException.java              |   2 +-
 .../parser}/TurtleParserBase.java                  |   2 +-
 .../parser}/TurtleRDFGraphInserter.java            |   2 +-
 .../parser}/javacc/JavaCharStream.java             |   2 +-
 .../parser}/javacc/ParseException.java             |   2 +-
 .../turtle => core_ttl/parser}/javacc/Token.java   |   2 +-
 .../parser}/javacc/TokenMgrError.java              |   2 +-
 .../parser}/javacc/TurtleParser.java               |   4 +-
 .../parser}/javacc/TurtleParserConstants.java      |   2 +-
 .../parser}/javacc/TurtleParserTokenManager.java   |   4 +-
 .../tests/TS6_TestTurtle.java}                     |  21 +-
 .../jena/core_ttl/tests/TestTurtleInternal.java    | 290 ++++++++++++++++++++
 .../tests}/TestTurtleReader.java                   |  38 +--
 .../apache/jena/core_ttl/tests/TurtleSuite.java    | 241 ++++++++++++++++
 .../org/apache/jena/test/JenaCoreTestAll_JU4.java  |   4 +-
 .../org/apache/jena/test/JenaCoreTestAll_JU6.java  |   4 +
 .../java/org/apache/jena/test/X_RDFReaderF.java    |   4 +-
 .../java/org/apache/jena/ttl_test/ManifestOld.java | 165 -----------
 .../jena/ttl_test/ManifestOldItemHandler.java      |  29 --
 .../jena/ttl_test/TestFactoryManifestOld.java      |  85 ------
 .../org/apache/jena/ttl_test/test/TupleItem.java   |  63 -----
 .../org/apache/jena/ttl_test/test/TupleSet.java    | 303 ---------------------
 .../ttl_test/test/turtle/TestItemBadSyntax.java    |  48 ----
 .../jena/ttl_test/test/turtle/TestItemSyntax.java  |  47 ----
 .../ttl_test/test/turtle/TestItemTurtleExec.java   |  66 -----
 .../ttl_test/test/turtle/TestTurtleInternal.java   | 274 -------------------
 .../ttl_test/test/turtle/TurtleTestFactory.java    |  74 -----
 .../test/turtle/TurtleTestSuiteManifest.java       |  84 ------
 .../jena/ttl_test/test/turtle/TurtleTestVocab.java |  60 ----
 .../apache/jena/ttl_test/turtle/TurtleReader.java  |  41 ---
 37 files changed, 606 insertions(+), 1393 deletions(-)

diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/JenaReaderBase.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/TurtleTestReader.java
similarity index 89%
rename from jena-core/src/test/java/org/apache/jena/ttl_test/JenaReaderBase.java
rename to jena-core/src/test/java/org/apache/jena/core_ttl/TurtleTestReader.java
index 986e70046a..8b33d7bc8f 100644
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/JenaReaderBase.java
+++ b/jena-core/src/test/java/org/apache/jena/core_ttl/TurtleTestReader.java
@@ -19,12 +19,13 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test;
+package org.apache.jena.core_ttl;
 
 import java.net.*;
 import java.nio.charset.StandardCharsets;
 import java.io.*;
 
+import org.apache.jena.core_ttl.parser.ParserTurtle;
 import org.apache.jena.graph.GraphEvents;
 import org.apache.jena.irix.IRIs;
 import org.apache.jena.rdf.model.*;
@@ -33,13 +34,12 @@ import org.apache.jena.util.FileUtils;
 import org.slf4j.LoggerFactory;
 
 /**
- * Abstract class that sorts out input streams, readers and base URIs, to call 
a
- * single worker function with model, UTF8 reader and visited base
+ * A jena-core style RDFReaderI for the jena-core test-only Turtle parser.
  */
-public abstract class JenaReaderBase implements RDFReaderI {
+public class TurtleTestReader implements RDFReaderI {
     protected RDFErrorHandler errorHandler = null;
 
-    public JenaReaderBase() {}
+    public TurtleTestReader() {}
 
     @Override
     final public void read(Model model, Reader r, String base) {
@@ -110,5 +110,9 @@ public abstract class JenaReaderBase implements RDFReaderI {
         }
     }
 
-    protected abstract void readWorker(Model model, Reader reader, String 
base) throws Exception;
+    protected void readWorker(Model model, Reader reader, String base)
+    {
+        ParserTurtle p =  new ParserTurtle();
+        p.parse( model.getGraph(), base, reader );
+    }
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/LabelToNodeMap.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/LabelToNodeMap.java
similarity index 97%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/LabelToNodeMap.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/LabelToNodeMap.java
index b84ce57253..430b498b6b 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/LabelToNodeMap.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/LabelToNodeMap.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/ParserTurtle.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/ParserTurtle.java
similarity index 89%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/ParserTurtle.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/ParserTurtle.java
index 4e93100021..ce4dc83906 100644
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/ParserTurtle.java
+++ b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/ParserTurtle.java
@@ -19,15 +19,15 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import java.io.InputStream;
 import java.io.Reader;
 
+import org.apache.jena.core_ttl.parser.javacc.ParseException;
+import org.apache.jena.core_ttl.parser.javacc.TokenMgrError;
+import org.apache.jena.core_ttl.parser.javacc.TurtleParser;
 import org.apache.jena.graph.Graph;
-import org.apache.jena.ttl_test.turtle.javacc.ParseException;
-import org.apache.jena.ttl_test.turtle.javacc.TokenMgrError;
-import org.apache.jena.ttl_test.turtle.javacc.TurtleParser;
 import org.apache.jena.util.FileUtils;
 
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/Turtle2NTriples.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/Turtle2NTriples.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/Turtle2NTriples.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/Turtle2NTriples.java
index f49d3bd0ee..f22a5b7862 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/Turtle2NTriples.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/Turtle2NTriples.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import java.io.PrintStream;
 import java.io.PrintWriter;
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventDump.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventDump.java
similarity index 97%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventDump.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventDump.java
index dd55abaeda..23ac2c6dcc 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventDump.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventDump.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.graph.Triple;
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventHandler.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventHandler.java
similarity index 96%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventHandler.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventHandler.java
index 27445820c9..5528a0b7fd 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventHandler.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventHandler.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.graph.Triple;
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventNull.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventNull.java
similarity index 96%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventNull.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventNull.java
index ed9e4f242e..80933a1541 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleEventNull.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleEventNull.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.graph.Triple;
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParseException.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParseException.java
similarity index 97%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParseException.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParseException.java
index 5b93348333..70aaf2ee0d 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParseException.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParseException.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.shared.JenaException;
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParserBase.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParserBase.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParserBase.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParserBase.java
index 53a477b76b..21cf83d0c7 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleParserBase.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleParserBase.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.datatypes.RDFDatatype;
 import org.apache.jena.datatypes.TypeMapper;
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleRDFGraphInserter.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleRDFGraphInserter.java
similarity index 98%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleRDFGraphInserter.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleRDFGraphInserter.java
index 9a2087e35e..3e311f32ef 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleRDFGraphInserter.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/TurtleRDFGraphInserter.java
@@ -19,7 +19,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle;
+package org.apache.jena.core_ttl.parser;
 
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/JavaCharStream.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/JavaCharStream.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/JavaCharStream.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/JavaCharStream.java
index 9d6a09e02f..4fb9265d93 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/JavaCharStream.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/JavaCharStream.java
@@ -21,7 +21,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
 /**
  * An implementation of interface CharStream, where the stream is assumed to
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/ParseException.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/ParseException.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/ParseException.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/ParseException.java
index 75bed03c14..f3acc45f25 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/ParseException.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/ParseException.java
@@ -21,7 +21,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
 /**
  * This exception is thrown when parse errors are encountered.
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/Token.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/Token.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/Token.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/Token.java
index 793f754e0a..3a194dc449 100644
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/Token.java
+++ b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/Token.java
@@ -21,7 +21,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
 /**
  * Describes the input token stream.
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TokenMgrError.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TokenMgrError.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TokenMgrError.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TokenMgrError.java
index d2dfb26c42..997d80b7fc 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TokenMgrError.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TokenMgrError.java
@@ -21,7 +21,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
 /** Token Manager Error. */
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParser.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParser.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParser.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParser.java
index edd8b5d2a0..9dfaa9bd8b 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParser.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParser.java
@@ -21,9 +21,9 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
-import org.apache.jena.ttl_test.turtle.*;
+import org.apache.jena.core_ttl.parser.*;
 import org.apache.jena.graph.*;
 
 public class TurtleParser extends TurtleParserBase implements 
TurtleParserConstants {
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserConstants.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserConstants.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserConstants.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserConstants.java
index 1bf7a1a445..ffcb992784 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserConstants.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserConstants.java
@@ -20,7 +20,7 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
+package org.apache.jena.core_ttl.parser.javacc;
 
 
 /**
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserTokenManager.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserTokenManager.java
similarity index 99%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserTokenManager.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserTokenManager.java
index 7e7ec96586..92803a0776 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/javacc/TurtleParserTokenManager.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/parser/javacc/TurtleParserTokenManager.java
@@ -21,8 +21,8 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.turtle.javacc;
-import org.apache.jena.ttl_test.turtle.*;
+package org.apache.jena.core_ttl.parser.javacc;
+import org.apache.jena.core_ttl.parser.*;
 import org.apache.jena.graph.*;
 
 /** Token Manager. */
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TS_TestTurtle.java
 b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TS6_TestTurtle.java
similarity index 66%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TS_TestTurtle.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/tests/TS6_TestTurtle.java
index c89c8ce219..af549c4a42 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TS_TestTurtle.java
+++ b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TS6_TestTurtle.java
@@ -19,14 +19,23 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.test.turtle;
+package org.apache.jena.core_ttl.tests;
 
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
+import org.junit.platform.suite.api.BeforeSuite;
+import org.junit.platform.suite.api.SelectClasses;
+import org.junit.platform.suite.api.Suite;
 
-@RunWith(Suite.class)
[email protected]({
+import org.apache.jena.test.JenaTestLib;
+
+// Jena core basic turtle - only used reading data in the test suite.
+@Suite
+@SelectClasses({
     TestTurtleReader.class,
     TestTurtleInternal.class,
+    TurtleSuite.class
 })
-public class TS_TestTurtle {}
\ No newline at end of file
+public class TS6_TestTurtle {
+    @BeforeSuite public static void beforeSuite() {
+        JenaTestLib.setup();
+    }
+}
\ No newline at end of file
diff --git 
a/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleInternal.java
 
b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleInternal.java
new file mode 100644
index 0000000000..4d3fa66b8b
--- /dev/null
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleInternal.java
@@ -0,0 +1,290 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *   SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.apache.jena.core_ttl.tests;
+
+
+import java.io.StringReader;
+
+import org.junit.jupiter.api.Test;
+
+import org.apache.jena.core_ttl.parser.TurtleEventNull;
+import org.apache.jena.core_ttl.parser.TurtleParseException;
+import org.apache.jena.core_ttl.parser.javacc.ParseException;
+import org.apache.jena.core_ttl.parser.javacc.TurtleParser;
+
+public class TestTurtleInternal
+{
+       static public final String QUOTE3 = "\"\"\"";
+       static public boolean VERBOSE = false;
+
+       @Test public void test_01() {
+           addTest("a:subj a:prop a:d .");
+       }
+       @Test public void test_02() {
+           addTest("a:subj a:prop a:d . ");
+       }
+       @Test public void test_03() {
+           addTest("a:subj a:prop a:d.");
+       }
+       @Test public void test_04() {
+           addTest("a:subj a:prop a:d. ");
+       }
+
+       @Test public void test_05() {
+           addTest("rdf: rdf:type :_.");
+       }
+       @Test public void test_06() {
+           addTest("@prefix start: <somewhere>.");
+       }
+       @Test public void test_07() {
+           addTest("<http://here/subj> <http://here/prep> <http://here/obj>.");
+       }
+
+       // Whitespace, comments
+       @Test public void test_08() {
+           addTest("a:subj\ta:prop\ta:d.\t");
+       }
+       @Test public void test_09() {
+           addTest("       a:subj\ta:prop\ta:d.     ");
+       }
+       @Test public void test_10() {
+           addTest("a:subj a:prop a:d.  ");
+       }
+       @Test public void test_11() {
+           addTest("");
+       }
+       @Test public void test_12() {
+           addTest(" #Comment");
+       }
+       @Test public void test_13() {
+           addTest("a:subj a:prop a:d.  # Comment");
+       }
+       @Test public void test_14() {
+           addTest("a:subj a:prop a:d.# Comment");
+       }
+
+       // Literal: strings
+       @Test public void test_15() {
+           addTest("a:subj a:prop 'string1'.");
+       }
+       @Test public void test_16() {
+           addTest("a:subj a:prop \"string2\".");
+       }
+       @Test public void test_17() {
+           addTest("a:subj a:prop '''string3'''.");
+       }
+       @Test public void test_18() {
+           addTest("a:subj a:prop "+QUOTE3+"string3"+QUOTE3+".");
+       }
+
+    // Literals: datatypes
+       @Test public void test_19() {
+           addTest("a:subj a:prop 'string1'^^x:dt.");
+       }
+       @Test public void test_20() {
+           addTest("a:subj a:prop 'string1'^^<uriref>.");
+       }
+
+    // Literals: numbers.
+       @Test public void test_21() {
+           addTest("a: :p 2. .");
+       }
+       @Test public void test_22() {
+           addTest("a: :p +2. .");
+       }
+       @Test public void test_23() {
+           addTest("a: :p -2 .");
+       }
+       @Test public void test_24() {
+           addTest("a: :p 2e6.");
+       }
+       @Test public void test_25() {
+           addTest("a: :p 2e-6.");
+       }
+       @Test public void test_26() {
+           addTest("a: :p -2e-6.");
+       }
+       @Test public void test_27() {
+           addTest("a: :p 2.0e-6.");
+       }
+       @Test public void test28() {
+           addTest("a: :p 2.0 .");
+       }
+
+    // Quotes in string
+       @Test public void test29() {
+           addTest("a:subj a:prop \"\\'string2\\'\".");
+       }
+       @Test public void test_30() {
+           addTest("a:subj a:prop \"\\\"string2\\\"\".");
+       }
+       @Test public void test_31() {
+           addTest("a:subj a:prop '\\'string1\\'\'.");
+       }
+       @Test public void test_32() {
+           addTest("a:subj a:prop '\\\"string1\\\"\'.");
+       }
+
+       @Test public void test_33() {
+           addTest("a:q21 a:prop "+QUOTE3+"start\"finish"+QUOTE3+".");
+       }
+       @Test public void test_34() {
+           addTest("a:q22 a:prop "+QUOTE3+"start\"\"finish"+QUOTE3+".");
+       }
+       @Test public void test_35() {
+           addTest("a:q2e3 a:prop 
"+QUOTE3+"start\\\"\\\"\\\"finish"+QUOTE3+".");
+       }
+       @Test public void test_36() {
+           addTest("a:q13 a:prop "+QUOTE3+"start'''finish"+QUOTE3+".");
+       }
+
+       @Test public void test_37() {
+           addTest("a:q11 a:prop '''start'finish'''.");
+       }
+       @Test public void test_38() {
+           addTest("a:q12 a:prop '''start''finish'''.");
+       }
+       @Test public void test_39() {
+           addTest("a:q12 a:prop '''start\\'\\'\\'finish'''.");
+       }
+       @Test public void test_40() {
+           addTest("a:q23 a:prop '''start\"\"\"finish'''.");
+       }
+
+       // Property lists
+       @Test public void test_41() {
+           addTest("a:subj a:p1 a:v1;  a:p2 a:v2 .");
+       }
+       @Test public void test_42() {
+           addTest("a:subj a:p1 a:v1, a:v2;  a:p2 a:v2; a:p3 'v4' ,'v5' .");
+       }
+       @Test public void test_43() {
+           addTest("a:subj a:p1 a:v1; .");                 // Null property 
list
+       }
+       @Test public void test_44() {
+           addTest("a:subj a:p1 a:v1; a:p2 a:v2; .");      // Null property 
list
+       }
+
+
+       // anon nodes
+       @Test public void test_45() {
+           addTest("[a:prop a:val].");
+       }
+       @Test public void test_46() {
+           addTest("[] a:prop a:val.");
+       }
+       @Test public void test_47() {
+           addTest("[] a:prop [].");
+       }
+    // RDF collections
+       @Test public void test_48() {
+           addTest("<here> <list> ().");
+       }
+       @Test public void test_49() {
+           addTest(" ( a:i1 a:i2 a:i3 ) a rdf:List.");
+       }
+
+       // Datatypes
+       @Test public void test_50() {
+           addTest("a:subj a:prop '123'^^xsd:integer .");
+       }
+       @Test public void test_51() {
+           addTest("a:subj a:prop '123'^^<uri> .");
+       }
+       @Test public void test_52() {
+           addTest("a:subj a:prop '<tag>text</tag>'^^rdf:XMLLiteral .");
+       }
+
+       // Numbers
+       @Test public void test_53() {
+           addTest("a:subj a:prop 123 .");
+       }
+       @Test public void test_54() {
+           addTest("a:subj a:prop 123.1 .");
+       }
+       @Test public void test_55() {
+           addTest("a:subj a:prop -123.1 .");
+       }
+       @Test public void test_56() {
+           addTest("a:subj a:prop 123.1e3 .");
+       }
+       @Test public void test_57() {
+           addTest("a:subj a:prop 123.1e-3 .");
+       }
+       @Test public void test_58() {
+           addTest("a:subj a:prop 123.1E3 .");
+       }
+       @Test public void test_59() {
+           addTest("a:subj a:prop 123.1E-3 .");
+       }
+
+       // Language tags
+       @Test public void test_60() {
+           addTest("a:subj a:prop 'text'@en .");
+       }
+    // XML Literal
+       @Test public void test_61() {
+           addTest("a:subj a:prop '<tag>text</tag>'^^rdf:XMLLiteral ."); // 
Can't have both
+       }
+       // Unicode 00E9 is e-acute
+       // Unicode 03B1 is alpha
+       @Test public void test_62() {
+           addTest("a:subj a:prop '\u00E9'.");
+       }
+       @Test public void test_63() {
+           addTest("a:subj a:prop '\u003B1'.");
+       }
+
+       @Test public void test_64() {
+           addTest("\u00E9:subj a:prop '\u00E9'.");
+       }
+       @Test public void test_65() {
+           addTest("a:subj-\u00E9 a:prop '\u00E9'.");
+       }
+
+       @Test public void test_66() {
+           addTest("\u03B1:subj a:prop '\u03B1'.");
+       }
+       @Test public void test_67() {
+           addTest("a:subj-\u03B1 a:prop '\u03B1'.");
+       }
+
+       static void addTest(String testString) {
+           TurtleParser parser = new TurtleParser(new 
StringReader(testString));
+           parser.setEventHandler(new TurtleEventNull());
+           parser.getPrefixMapping().setNsPrefix("a", "http://host/a#";);
+           parser.getPrefixMapping().setNsPrefix("x", "http://host/a#";);
+           // Unicode 00E9 is e-acute
+           // Unicode 03B1 is alpha
+           parser.getPrefixMapping().setNsPrefix("\u00E9", 
"http://host/e-acute/";);
+           parser.getPrefixMapping().setNsPrefix("\u03B1", 
"http://host/alpha/";);
+           parser.getPrefixMapping().setNsPrefix("", "http://host/";);
+           parser.getPrefixMapping().setNsPrefix("rdf", 
"http://www.w3.org/1999/02/22-rdf-syntax-ns#";);
+           parser.getPrefixMapping().setNsPrefix("xsd", 
"http://www.w3.org/2001/XMLSchema#";);
+           parser.setBaseURI("http://base/";);
+           try {
+            parser.parse();
+        } catch (ParseException e) {
+            throw new TurtleParseException(e.getMessage(), e);
+        }
+       }
+}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleReader.java
 b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleReader.java
similarity index 65%
rename from 
jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleReader.java
rename to 
jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleReader.java
index 84e9ecb7a5..44238bae63 100644
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleReader.java
+++ 
b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TestTurtleReader.java
@@ -19,35 +19,39 @@
  *   SPDX-License-Identifier: Apache-2.0
  */
 
-package org.apache.jena.ttl_test.test.turtle;
+package org.apache.jena.core_ttl.tests;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.RDFReaderI;
-import org.apache.jena.ttl_test.turtle.TurtleReader;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class TestTurtleReader extends TestCase {
+import org.junit.jupiter.api.Test;
 
-    public static TestSuite suite() {
-        return new TestSuite(TestTurtleReader.class, "Basic Turtle tests");
-    }
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
 
-    public void test0() {
-        RDFReaderI r = new TurtleReader();
-        assertNotNull(r);
-    }
+/**
+ * Check the test Turtle reader is wired in.
+ */
+public class TestTurtleReader {
 
-    public void test1() {
+    @Test public void test_read() {
         Model m = ModelFactory.createDefaultModel();
         m.read("file:testing/Turtle/simple.ttl", "TTL");
         assertFalse(m.isEmpty());
     }
 
-    public void test2() {
+    @Test public void test_i18n() {
         Model m = ModelFactory.createDefaultModel();
         m.read("file:testing/Turtle/i18n.ttl", "TTL");
         assertFalse(m.isEmpty());
     }
+
+    @SuppressWarnings("deprecation")
+    public@Test  void testReaderNames() {
+        Model m = ModelFactory.createDefaultModel();
+        assertNotNull(m.getReader("TURTLE"));
+        assertNotNull(m.getReader("Turtle"));
+        assertNotNull(m.getReader("TTL"));
+        assertNotNull(m.getReader("N3"));
+    }
 }
diff --git 
a/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TurtleSuite.java 
b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TurtleSuite.java
new file mode 100644
index 0000000000..ebcd5818b8
--- /dev/null
+++ b/jena-core/src/test/java/org/apache/jena/core_ttl/tests/TurtleSuite.java
@@ -0,0 +1,241 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *   SPDX-License-Identifier: Apache-2.0
+ */
+
+package org.apache.jena.core_ttl.tests;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.junit.jupiter.api.Test;
+
+import org.apache.jena.core_ttl.TurtleTestReader;
+import org.apache.jena.core_ttl.parser.TurtleParseException;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.rdf.model.RDFReaderI;
+import org.apache.jena.test.JenaTestLib;
+import org.apache.jena.util.FileManager;
+import org.apache.jena.util.FileUtils;
+
+public class TurtleSuite {
+
+    static { JenaTestLib.setup(); }
+
+    @Test
+    public void test_rdf_schema() {
+        testGood("rdf-schema", "RaptorTurtle/rdf-schema.ttl", 
"RaptorTurtle/rdf-schema.out");
+    }
+
+    @Test
+    public void test_rdfq_results() {
+        testGood("rdfq-results", "RaptorTurtle/rdfq-results.ttl", 
"RaptorTurtle/rdfq-results.out",
+                 
"http://www.w3.org/2001/sw/DataAccess/df1/tests/rdfq-results.ttl";);
+    }
+
+    @Test
+    public void test_rdfs_namespace() {
+        testGood("rdfs-namespace", "RaptorTurtle/rdfs-namespace.ttl", 
"RaptorTurtle/rdfs-namespace.out");
+    }
+
+    @Test
+    public void test_00() {
+        testGood("test-00", "RaptorTurtle/test-00.ttl", 
"RaptorTurtle/test-00.out",
+                 "http://www.w3.org/2001/sw/DataAccess/df1/tests/test-00.ttl";);
+    }
+
+    @Test
+    public void test_01() {
+        testGood("test-01", "RaptorTurtle/test-01.ttl", 
"RaptorTurtle/test-01.out");
+    }
+
+    @Test
+    public void test_02() {
+        testGood("test-02", "RaptorTurtle/test-02.ttl", 
"RaptorTurtle/test-02.out");
+    }
+
+    @Test
+    public void test_03() {
+        testGood("test-03", "RaptorTurtle/test-03.ttl", 
"RaptorTurtle/test-03.out");
+    }
+
+    @Test
+    public void test_04() {
+        testGood("test-04", "RaptorTurtle/test-04.ttl", 
"RaptorTurtle/test-04.out");
+    }
+
+    @Test
+    public void test_05() {
+        testGood("test-05", "RaptorTurtle/test-05.ttl", 
"RaptorTurtle/test-05.out");
+    }
+
+    @Test
+    public void test_06() {
+        testGood("test-06", "RaptorTurtle/test-06.ttl", 
"RaptorTurtle/test-06.out");
+    }
+
+    @Test
+    public void test_07() {
+        testGood("test-07", "RaptorTurtle/test-07.ttl", 
"RaptorTurtle/test-07.out");
+    }
+
+    @Test
+    public void test_08() {
+        testGood("test-08", "RaptorTurtle/test-08.ttl", 
"RaptorTurtle/test-08.out");
+    }
+
+    @Test
+    public void test_09() {
+        testGood("test-09", "RaptorTurtle/test-09.ttl", 
"RaptorTurtle/test-09.out");
+    }
+
+    @Test
+    public void test_10() {
+        testGood("test-10", "RaptorTurtle/test-10.ttl", 
"RaptorTurtle/test-10.out");
+    }
+
+    @Test
+    public void test_11() {
+        testGood("test-11", "RaptorTurtle/test-11.ttl", 
"RaptorTurtle/test-11.out");
+    }
+
+    @Test
+    public void test_12() {
+        testGood("test-12", "RaptorTurtle/test-12.ttl", 
"RaptorTurtle/test-12.out");
+    }
+
+    @Test
+    public void test_13() {
+        testGood("test-13", "RaptorTurtle/test-13.ttl", 
"RaptorTurtle/test-13.out");
+    }
+
+    @Test
+    public void test_14() {
+        testGood("test-14", "RaptorTurtle/test-14.ttl", 
"RaptorTurtle/test-14.out");
+    }
+
+    @Test
+    public void test_15() {
+        testGood("test-15", "RaptorTurtle/test-15.ttl", 
"RaptorTurtle/test-15.out");
+    }
+
+    @Test
+    public void test_16() {
+        testGood("test-16", "RaptorTurtle/test-16.ttl", 
"RaptorTurtle/test-16.out");
+    }
+
+    @Test
+    public void test_bad_00() {
+        testBad("Bad-00", "RaptorTurtle/bad-00.ttl");
+    }
+
+    @Test
+    public void test_bad_01() {
+        testBad("Bad-01", "RaptorTurtle/bad-01.ttl");
+    }
+
+    @Test
+    public void test_bad_02() {
+        testBad("Bad-02", "RaptorTurtle/bad-02.ttl");
+    }
+
+    @Test
+    public void test_bad_03() {
+        testBad("Bad-03", "RaptorTurtle/bad-03.ttl");
+    }
+
+    @Test
+    public void test_bad_04() {
+        testBad("Bad-04", "RaptorTurtle/bad-04.ttl");
+    }
+
+    @Test
+    public void test_bad_05() {
+        testBad("Bad-05", "RaptorTurtle/bad-05.ttl");
+    }
+
+    @Test
+    public void test_bad_06() {
+        testBad("Bad-06", "RaptorTurtle/bad-06.ttl");
+    }
+
+    @Test
+    public void test_bad_07() {
+        testBad("Bad-07", "RaptorTurtle/bad-07.ttl");
+    }
+
+    @Test
+    public void test_bad_08() {
+        testBad("Bad-08", "RaptorTurtle/bad-08.ttl");
+    }
+
+    @Test
+    public void test_bad_09() {
+        testBad("Bad-09", "RaptorTurtle/bad-09.ttl");
+    }
+
+    @Test
+    public void test_bad_10() {
+        testBad("Bad-10", "RaptorTurtle/bad-10.ttl");
+    }
+
+    @Test
+    public void test_bad_11() {
+        testBad("Bad-11", "RaptorTurtle/bad-11.ttl");
+    }
+
+    @Test
+    public void test_bad_12() {
+        testBad("Bad-12", "RaptorTurtle/bad-12.ttl");
+    }
+
+    @Test
+    public void test_bad_13() {
+        testBad("Bad-13", "RaptorTurtle/bad-13.ttl");
+    }
+
+    private static void testBad(String name, String inputFile) {
+        String fn = "file:testing/Turtle/"+inputFile;
+        Model model = ModelFactory.createDefaultModel();
+        RDFReaderI t = new TurtleTestReader();
+        assertThrows(TurtleParseException.class, ()->t.read(model, fn));
+    }
+
+    private void testGood(String name, String inputFile, String outputFile) {
+        testGood(name, inputFile, outputFile, null);
+    }
+
+    private void testGood(String name, String inputFile, String outputFile, 
String baseURI) {
+        inputFile = "file:testing/Turtle/"+inputFile;
+        outputFile = "file:testing/Turtle/"+outputFile;
+
+        Model model = ModelFactory.createDefaultModel();
+        RDFReaderI t = new TurtleTestReader();
+        if ( baseURI != null )
+            t.read(model, FileManager.getInternal().open(inputFile), baseURI);
+        else
+            t.read(model, inputFile);
+        String syntax = FileUtils.guessLang(outputFile, FileUtils.langNTriple);
+        Model results = ModelFactory.createDefaultModel();
+        results.read(outputFile, null, syntax);
+        boolean b = model.isIsomorphicWith(results);
+        assertTrue(b, "Models not isomorphic");
+    }
+}
diff --git 
a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java 
b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
index aebc0ed287..ec17a00e80 100644
--- a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
+++ b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU4.java
@@ -77,9 +77,9 @@ public class JenaCoreTestAll_JU4 extends TestCase {
         addTest(ts,  "Ontology",            
adaptJUnit4(org.apache.jena.ontology.impl.TS3_ont.class));
 
         // Local TTL parser for tests - not fully compliant.
-        addTest(ts,  "Turtle",              
adaptJUnit4(org.apache.jena.ttl_test.test.turtle.TS_TestTurtle.class));
+//JU6        addTest(ts,  "Turtle",              
adaptJUnit4(org.apache.jena.ttl_test.test_turtle.TS_TestTurtle.class));
         // ** Generated tests
-        addTest(ts,  "Turtle:Manifest",     
org.apache.jena.ttl_test.test.turtle.TurtleTestSuiteManifest.suite());
+//JU6        addTest(ts,  "Turtle:Manifest",     
org.apache.jena.ttl_test.test_turtle.TurtleTestSuiteManifest.suite());
         return ts;
     }
 
diff --git 
a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java 
b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
index 456f8fed16..408810bcf5 100644
--- a/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
+++ b/jena-core/src/test/java/org/apache/jena/test/JenaCoreTestAll_JU6.java
@@ -25,6 +25,7 @@ import org.junit.platform.suite.api.BeforeSuite;
 import org.junit.platform.suite.api.SelectClasses;
 import org.junit.platform.suite.api.Suite;
 
+import org.apache.jena.core_ttl.tests.TS6_TestTurtle;
 import org.apache.jena.datatypes.TS6_dt;
 import org.apache.jena.irix.TS6_IRIx2;
 import org.apache.jena.langtagx.TS6_LangTagX;
@@ -56,6 +57,9 @@ import org.apache.jena.vocabulary.TS6_Vocabularies;
 
     TS6_Vocabularies.class,
     TS6_SharedPackage.class,
+
+    TS6_TestTurtle.class,
+
 })
 
 public class JenaCoreTestAll_JU6 {
diff --git a/jena-core/src/test/java/org/apache/jena/test/X_RDFReaderF.java 
b/jena-core/src/test/java/org/apache/jena/test/X_RDFReaderF.java
index a6bd04fbc8..a153737754 100644
--- a/jena-core/src/test/java/org/apache/jena/test/X_RDFReaderF.java
+++ b/jena-core/src/test/java/org/apache/jena/test/X_RDFReaderF.java
@@ -25,13 +25,13 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 import org.apache.jena.atlas.lib.Creator;
+import org.apache.jena.core_ttl.TurtleTestReader;
 import org.apache.jena.rdf.model.RDFReaderF;
 import org.apache.jena.rdf.model.RDFReaderI;
 import org.apache.jena.rdf.model.impl.NTripleReader;
 import org.apache.jena.rdfxml.arp1.RDFXMLReader;
 import org.apache.jena.shared.JenaException;
 import org.apache.jena.shared.NoReaderForLangException;
-import org.apache.jena.ttl_test.turtle.TurtleReader;
 
 /**
  * For jena-core tests only.
@@ -76,7 +76,7 @@ public class X_RDFReaderF extends Object implements 
RDFReaderF {
         @SuppressWarnings("removal")
         Creator<RDFReaderI> rdfxmlReader = RDFXMLReader::new;
         Creator<RDFReaderI> ntReader     = NTripleReader::new;
-        Creator<RDFReaderI> turtleReader = TurtleReader::new;
+        Creator<RDFReaderI> turtleReader = TurtleTestReader::new;
 
         custom.put("RDF", rdfxmlReader);
         custom.put("RDF/XML", rdfxmlReader);
diff --git a/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOld.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOld.java
deleted file mode 100644
index 22c23fab1c..0000000000
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOld.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.jena.irix.IRIs;
-import org.apache.jena.junit.TestUtils;
-import org.apache.jena.rdf.model.*;
-import org.apache.jena.util.FileManager;
-import org.apache.jena.vocabulary.RDF;
-import org.apache.jena.vocabulary.RDFS;
-import org.apache.jena.vocabulary.TestManifest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A test manifest for a single manifest file. Exists solely while the old 
Turtle/N3
- * parsers is tested in jena-core.
- */
-
-public class ManifestOld {
-    // This class does not know about JUnit.
-    private static Logger log = LoggerFactory.getLogger(ManifestOld.class);
-    Model manifest;
-    String manifestName;
-    String filename;
-    List<String> includedFiles = new ArrayList<>();
-    Resource manifestRes = null;
-
-    public ManifestOld(String fn) {
-        log.debug("Manifest = " + fn);
-        filename = IRIs.resolve(fn);
-        log.debug("         = " + filename);
-        manifest = FileManager.getInternal().loadModelInternal(filename);
-        parseIncludes();
-        parseManifest();
-    }
-
-    public String getName() {
-        return manifestName;
-    }
-
-    public Iterator<String> includedManifests() {
-        return includedFiles.iterator();
-    }
-
-    private void parseManifest() {
-        StmtIterator manifestStmts = manifest.listStatements(null, RDF.type, 
TestManifest.Manifest);
-        if ( !manifestStmts.hasNext() ) {
-            log.warn("No manifest in manifest file: " + filename);
-            return;
-        }
-
-        Statement manifestItemStmt = manifestStmts.nextStatement();
-        if ( manifestStmts.hasNext() ) {
-            log.warn("Multiple manifests in manifest file: " + filename);
-            return;
-        }
-
-        manifestRes = manifestItemStmt.getSubject();
-        manifestName = TestUtils.getLiteral(manifestRes, RDFS.label);
-        if ( manifestName == null )
-            manifestName = TestUtils.getLiteral(manifestRes, RDFS.comment);
-        if ( manifestName == null )
-            manifestName = TestUtils.getLiteral(manifestRes, 
TestManifest.name);
-        manifestStmts.close();
-    }
-
-    // For every test item (does not recurse)
-    public void apply(ManifestOldItemHandler gen) {
-
-        StmtIterator manifestStmts = manifest.listStatements(null, RDF.type, 
TestManifest.Manifest);
-
-        for ( ; manifestStmts.hasNext() ; ) {
-            Statement manifestItemStmt = manifestStmts.nextStatement();
-            Resource manifestRes = manifestItemStmt.getSubject();
-
-            // For each item in this manifest
-            StmtIterator listIter = 
manifestRes.listProperties(TestManifest.entries);
-            for ( ; listIter.hasNext() ; ) {
-                // List head
-                Resource listItem = listIter.nextStatement().getResource();
-                for ( ; !listItem.equals(RDF.nil) ; ) {
-                    Resource entry = 
listItem.getRequiredProperty(RDF.first).getResource();
-                    String testName = TestUtils.getLiteral(entry, 
TestManifest.name);
-                    Resource action = TestUtils.getResource(entry, 
TestManifest.action);
-                    Resource result = TestUtils.getResource(entry, 
TestManifest.result);
-                    gen.processManifestItem(manifestRes, entry, testName, 
action, result);
-                    // Move to next list item
-                    listItem = 
listItem.getRequiredProperty(RDF.rest).getResource();
-                }
-            }
-            listIter.close();
-        }
-        manifestStmts.close();
-    }
-
-    // -------- included manifests
-    private void parseIncludes() {
-        parseIncludes(TestManifest.include);
-    }
-
-    private void parseIncludes(Property property) {
-        StmtIterator includeStmts = manifest.listStatements(null, property, 
(RDFNode)null);
-
-        for ( ; includeStmts.hasNext() ; ) {
-            Statement s = includeStmts.nextStatement();
-            if ( !(s.getObject() instanceof Resource) ) {
-                log.warn("Include: not a Resource" + s);
-                continue;
-            }
-            Resource r = s.getResource();
-            parseOneIncludesList(r);
-        }
-        includeStmts.close();
-    }
-
-    private void parseOneIncludesList(Resource r) {
-        if ( r == null )
-            return;
-
-        if ( r.equals(RDF.nil) )
-            return;
-
-        if ( !r.isAnon() ) {
-            String uri = r.getURI();
-            if ( includedFiles.contains(uri) )
-                return;
-            includedFiles.add(r.getURI());
-            return;
-        }
-
-        // BNnode => list
-        Resource listItem = r;
-        while (!listItem.equals(RDF.nil)) {
-            r = listItem.getRequiredProperty(RDF.first).getResource();
-            parseOneIncludesList(r);
-            // Move on
-            listItem = listItem.getRequiredProperty(RDF.rest).getResource();
-        }
-    }
-
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOldItemHandler.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOldItemHandler.java
deleted file mode 100644
index 175b8cee02..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/ManifestOldItemHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test;
-
-import org.apache.jena.rdf.model.Resource;
-
-public interface ManifestOldItemHandler {
-    /** Handle an item in a manifest */
-    public boolean processManifestItem(Resource manifest, Resource item, 
String testName, Resource action, Resource result);
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/TestFactoryManifestOld.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/TestFactoryManifestOld.java
deleted file mode 100644
index f1e7deabb9..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/TestFactoryManifestOld.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test;
-
-import java.util.Iterator;
-
-import junit.framework.*;
-import org.apache.jena.junit.TestUtils;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.shared.JenaException;
-import org.slf4j.LoggerFactory;
-
-public abstract class TestFactoryManifestOld implements ManifestOldItemHandler 
{
-    private TestSuite currentTestSuite = null;
-    private TestSuite testSuite = null;
-
-    public TestFactoryManifestOld() {}
-
-    public TestSuite process(String filename) {
-        return oneManifest(filename);
-    }
-
-    private TestSuite oneManifest(String filename) {
-        TestSuite ts1 = new TestSuite();
-        ManifestOld m = null;
-        try {
-            m = new ManifestOld(filename);
-        } catch (JenaException ex) {
-            LoggerFactory.getLogger(TestFactoryManifestOld.class).warn("Failed 
to load: " + filename + "\n" + ex.getMessage(), ex);
-            ts1.setName("BROKEN");
-            return ts1;
-        }
-        if ( m.getName() != null )
-            ts1.setName(TestUtils.safeName(m.getName()));
-        else
-            ts1.setName("Unnamed Manifest");
-
-        // Recurse
-        for ( Iterator<String> iter = m.includedManifests() ; iter.hasNext() ; 
) {
-            String n = iter.next();
-            TestSuite ts2 = oneManifest(n);
-            currentTestSuite = ts2;
-            ts1.addTest(ts2);
-        }
-
-        currentTestSuite = ts1;
-        m.apply(this);
-        return ts1;
-    }
-
-    protected TestSuite getTestSuite() {
-        return currentTestSuite;
-    }
-
-    /** Handle an item in a manifest */
-    @Override
-    public final boolean processManifestItem(Resource manifest, Resource item, 
String testName, Resource action, Resource result) {
-        Test t = makeTest(manifest, item, testName, action, result);
-        if ( t != null )
-            currentTestSuite.addTest(t);
-        return true;
-    }
-
-    protected abstract Test makeTest(Resource manifest, Resource item, String 
testName, Resource action, Resource result);
-
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleItem.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleItem.java
deleted file mode 100644
index 4172ecec8a..0000000000
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleItem.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test;
-
-/**
- * The unit found in a line of a tuple.
- * Can be a string (quoted, possibly with the datatype, or unquoted) or a URI.
- */
-class TupleItem
-{
-    public static final int URI      = 0;
-    public static final int STRING   = 1;
-    public static final int UNKNOWN  = 2;
-    public static final int UNQUOTED = 3;
-    public static final int ANON     = 4;
-
-    String rep;
-    String datatype;
-    String asFound;
-    int itemType;
-
-    TupleItem(String value, String valAsFound, int type, String dt)
-    {
-        rep = value;
-        asFound = valAsFound;
-        itemType = type;
-        datatype = dt;
-    }
-
-    public int getType() { return itemType; }
-
-    public boolean isURI()       { return itemType == URI; }
-    public boolean isString()    { return itemType == STRING; }
-    public boolean isUnknown()   { return itemType == UNKNOWN; }
-    public boolean isUnquoted()  { return itemType == UNQUOTED; }
-    public boolean isAnon()      { return itemType == ANON; }
-
-    public String get() { return rep; }
-    public String getDT() { return datatype;
-    }
-    public String asQuotedString() { return asFound; }
-    @Override
-    public String toString() { return rep; }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleSet.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleSet.java
deleted file mode 100644
index 834cac22b0..0000000000
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/test/TupleSet.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test;
-
-import java.io.*;
-import java.util.*;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class TupleSet implements Iterator<List<TupleItem>>
-{
-    BufferedReader in;
-    public String line = null;
-    public int lineNumber = 0;
-
-    static final char COMMENTCHAR = '#';
-    List<TupleItem> current = null;
-    boolean finished = false;
-
-    protected static Logger logger = LoggerFactory.getLogger( TupleSet.class );
-    
-    /** Creates new TupleSet */
-    public TupleSet(Reader r)
-    {
-        if ( ! ( r instanceof BufferedReader ) )
-            in = new BufferedReader(r);
-        else
-            in = (BufferedReader)r;
-    }
-
-    @Override
-    public boolean hasNext()
-    {
-        if ( finished ) return false;
-
-        if ( current == null )
-            current = tuple();
-        return current != null;
-    }
-
-    @Override
-    public List<TupleItem> next()
-    {
-        if ( hasNext() )
-        {
-            List<TupleItem> x = current;
-            current = null;
-            return x;
-        }
-        else
-            return null;
-    }
-
-
-    @Override
-    public void remove()
-    {
-        throw new java.lang.UnsupportedOperationException("TupleSet.remove");
-    }
-
-    private List<TupleItem> tuple()
-    {
-
-        try {
-            lineNumber ++;
-            line = in.readLine();
-        } catch (IOException e) {}
-
-        if ( line == null )
-        {
-            finished = true;
-            return null;
-        }
-
-        //System.out.println("Line: "+line);
-        List<TupleItem> tuple = new ArrayList<>();
-        int i = 0;
-        int j = 0;
-        boolean errorFound = false;
-
-     tupleLoop:
-        for (;;)
-        {
-            // Move to beginning of next item.
-            i = skipwhitespace(line, j);
-
-            if ( i < 0 )
-                break;
-
-            int iStart = -2;       // Points to the beginning of the item as 
found
-            int jStart = -2;       // Points to the item without quotes
-            int iFinish = -2;      // Points after the end of the item as found
-            int jFinish = -2;      // Points after the end of the item without 
quotes
-            int dtStart = -2;      // Points to start of datatype (after < 
quote)
-            int dtFinish = -2;     // Points to end of datatype
-            int type = TupleItem.UNKNOWN;
-
-            switch (line.charAt(i))
-            {
-                case COMMENTCHAR:
-                    break tupleLoop;
-                case '<':
-                    type = TupleItem.URI;
-                    iStart = i;
-                    jStart = i+1;
-                    int newPosn = parseURI(i, line);
-                    if (newPosn < 0)
-                    {
-                        errorFound = true;
-                        break tupleLoop;
-                    }
-                    j = newPosn;
-                    
-                    iFinish = j+1;
-                    jFinish = j;
-                    break;
-                case '"':
-                    type = TupleItem.STRING;
-                    iStart = i;
-                    jStart = i+1;
-                    boolean inEscape = false;
-                    for ( j = i+1; j < line.length(); j++ )
-                    {
-                        char ch = line.charAt(j);
-                        if ( inEscape )
-                        {
-                               // ToDo: escape
-                            inEscape = false;
-                            continue;
-                        }
-                        // Not an escape
-                        if ( ch == '"'  )
-                            break;
-
-                        if ( ch == '\\' )
-                            inEscape = true;
-                        if ( ch == '\n' || ch == '\r' )
-                        {
-                            errorFound = true;
-                            break tupleLoop;
-                            
-                        }
-                    }
-                    
-                    // Malformed
-                    if ( j == line.length() )
-                    {
-                        errorFound = true;
-                        break tupleLoop;
-                    }
-                    
-                    iFinish = j+1;
-                    jFinish = j;
-                    // RDF literals may be followed by their type.
-                         
-                    if ( j < line.length()-3 
-                         && line.charAt(j+1) == '^'
-                         && line.charAt(j+2) == '^'
-                         && line.charAt(j+3) == '<' )
-                    {
-                        dtFinish = parseURI(j+3, line);
-                        dtStart = j+4;
-                        if (dtFinish < 0)
-                        {
-                            errorFound = true;
-                            break tupleLoop;
-                        }
-                        j = dtFinish+1;
-                        //String dt = line.substring(dtStart, dtFinish);
-                        //System.out.println("I see a datatype:"+dt);
-                    }
-                    
-                    break;
-                case '_':
-                    type = TupleItem.ANON;
-                    iStart = i;
-                    for ( j = i+1; j < line.length(); j++ )
-                    {
-                        char ch = line.charAt(j);
-                        if ( ch == ' '  || ch == '\t' || ch == '.' )
-                            break;
-                        if ( ! Character.isLetterOrDigit(ch) && ! (ch == '_') 
&& ! (ch == ':') )
-                        {
-                            errorFound = true;
-                            break tupleLoop;
-                        }
-                    }
-                    iFinish = j;
-                    jStart = iStart;
-                    jFinish = iFinish;
-                    break;
-                case '.':
-                case '\n':
-                case '\r':
-                    return tuple;
-                default:
-                    type = TupleItem.UNQUOTED;
-                    iStart = i;
-                    jStart = i;
-                    for ( j = i+1; j < line.length(); j++ )
-                    {
-                        char ch = line.charAt(j);
-                        if ( ch == ' '  || ch == '\t' || ch == '.' )
-                            break;
-
-                        //if ( ! Character.isLetterOrDigit(line.charAt(i)) )
-                        //{
-                        //    errorFound = true;
-                        //    break tupleLoop;
-                        //}
-                    }
-                    // Malformed
-                    if ( j == line.length()+1 )
-                    {
-                        errorFound = true;
-                        break tupleLoop;
-                    }
-                    iFinish = j;
-                    jFinish = j;
-                    break;
-            }
-            String item = line.substring(jStart, jFinish);
-            String literal = line.substring(iStart, iFinish);
-            String dt = null;
-            if ( dtStart > 0 )
-                dt = line.substring(dtStart, dtFinish);
-            
-            tuple.add(new TupleItem(item, literal, type, dt));
-            j++;
-            // End of item.
-        }
-        //End of this line.
-        if ( errorFound )
-        {
-            logger.error( "Error in TupleSet.tuple: " + line );
-            
-            String s = "";
-            int k = 0;
-            for (; k < i; k++ ) s = s+" ";
-            s = s+"^";
-            for (; k < j-1; k++ ) s=s+" ";
-            s = s+"^";
-            logger.error( s );
-            return null;
-        }
-
-        if ( tuple.size() == 0 )
-        {
-            // Nothing found : loop by tail recursion
-            return tuple();
-        }
-        return tuple;
-    }
-
-    private int skipwhitespace(String s, int i)
-    {
-        for (; i < s.length(); i++ )
-        {
-            char ch = s.charAt(i);
-            // Horizonal whitespace
-            if ( ch != ' ' && ch != '\t' )
-                return i;
-        }
-        return -1;
-    }
-
-    private int parseURI(int i, String line)
-    {
-        int j;
-        for (j = i + 1; j < line.length(); j++)
-        {
-            char ch = line.charAt(j);
-            if (ch == '>')
-                break;
-            if (ch == '\n' || ch == '\r')
-                return -1;
-        }
-        // Malformed
-        if (j == line.length())
-            return -2;
-        return j;
-    }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemBadSyntax.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemBadSyntax.java
deleted file mode 100644
index 243002e3fb..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemBadSyntax.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.TestCase;
-import org.apache.jena.rdf.model.*;
-import org.apache.jena.ttl_test.turtle.TurtleParseException;
-import org.apache.jena.ttl_test.turtle.TurtleReader;
-
-public class TestItemBadSyntax extends TestCase {
-    String uri;
-    public TestItemBadSyntax(String name, String uri) {
-        super(name);
-        this.uri = uri;
-    }
-
-    @Override
-    public void runTest() {
-        Model model = ModelFactory.createDefaultModel();
-        RDFReaderI t = new TurtleReader();
-        try {
-            t.read(model, uri);
-            fail("Bad syntax test succeed in parsing the file");
-        } catch (TurtleParseException ex) {
-            return;
-        }
-
-    }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemSyntax.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemSyntax.java
deleted file mode 100644
index 425d9270fc..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemSyntax.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.TestCase;
-import org.apache.jena.rdf.model.*;
-import org.apache.jena.ttl_test.turtle.TurtleParseException;
-import org.apache.jena.ttl_test.turtle.TurtleReader;
-
-public class TestItemSyntax extends TestCase {
-    String uri;
-    public TestItemSyntax(String name, String uri) {
-        super(name);
-        this.uri = uri;
-    }
-
-    @Override
-    public void runTest() {
-        Model model = ModelFactory.createDefaultModel();
-        RDFReaderI t = new TurtleReader();
-        try {
-            t.read(model, uri);
-        } catch (TurtleParseException ex) {
-            throw ex;
-        }
-    }
-
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemTurtleExec.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemTurtleExec.java
deleted file mode 100644
index ddb63cf944..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestItemTurtleExec.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.TestCase;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.RDFReaderI;
-import org.apache.jena.ttl_test.turtle.TurtleParseException;
-import org.apache.jena.ttl_test.turtle.TurtleReader;
-import org.apache.jena.util.FileManager;
-import org.apache.jena.util.FileUtils;
-
-public class TestItemTurtleExec extends TestCase {
-    String input;
-    String output;
-    String baseIRI;
-
-    public TestItemTurtleExec(String name, String input, String output, String 
baseIRI) {
-        super(name);
-        this.input = input;
-        this.output = output;
-        this.baseIRI = baseIRI;
-    }
-
-    @Override
-    public void runTest() {
-        Model model = ModelFactory.createDefaultModel();
-        RDFReaderI t = new TurtleReader();
-        try {
-            if ( baseIRI != null )
-                t.read(model, FileManager.getInternal().open(input), baseIRI);
-            else
-                t.read(model, input);
-            // 
"http://www.w3.org/2001/sw/DataAccess/df1/tests/rdfq-results.ttl";
-
-            String syntax = FileUtils.guessLang(output, FileUtils.langNTriple);
-            Model results = ModelFactory.createDefaultModel();
-            results.read(output, null, syntax);
-            boolean b = model.isIsomorphicWith(results);
-            if ( !b )
-                assertTrue("Models not isomorphic", b);
-        } catch (TurtleParseException ex) {
-            throw ex;
-        }
-    }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleInternal.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleInternal.java
deleted file mode 100644
index 9966990be8..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TestTurtleInternal.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.*;
-
-import java.io.*;
-
-import org.apache.jena.junit.TestUtils;
-import org.apache.jena.ttl_test.turtle.TurtleEventNull;
-import org.apache.jena.ttl_test.turtle.javacc.TurtleParser;
-
-public class TestTurtleInternal extends TestSuite
-{
-    static public TestSuite suite() {
-        return new TestTurtleInternal();
-    }
-
-       static public final String QUOTE3 = "\"\"\"";
-       static public boolean VERBOSE = false;
-
-    public TestTurtleInternal() {
-               super("Turtle Parser Syntactic tests");
-
-        // ---- Debug testing
-        //addTest("<thing> b:px.b:py [] . ");
-        // if ( true ) return;
-        // ---- Debug testing
-
-               // Make sure basic things, at least, parse.
-
-               // URIs, qnames, statements, prefixes
-
-        // End of statement (and whitespace)
-        addTest("a:subj a:prop a:d .");
-        addTest("a:subj a:prop a:d . ");
-        addTest("a:subj a:prop a:d.");
-        addTest("a:subj a:prop a:d. ");
-
-        addTest("rdf: rdf:type :_.");
-        addTest("@prefix start: <somewhere>.");
-        addTest("<http://here/subj> <http://here/prep> <http://here/obj>.");
-
-               // Whitespace, comments
-               addTest("a:subj\ta:prop\ta:d.\t");
-               addTest("       a:subj\ta:prop\ta:d.     ");
-               addTest("a:subj a:prop a:d.  ");
-               addTest("");
-               addTest(" #Comment");
-               addTest("a:subj a:prop a:d.  # Comment");
-               addTest("a:subj a:prop a:d.# Comment");
-
-               // Literal: strings
-               addTest("a:subj a:prop 'string1'.");
-               addTest("a:subj a:prop \"string2\".");
-               addTest("a:subj a:prop '''string3'''.");
-               addTest("a:subj a:prop "+QUOTE3+"string3"+QUOTE3+".");
-
-               // Literals: datatypes
-               addTest("a:subj a:prop 'string1'^^x:dt.");
-               addTest("a:subj a:prop 'string1'^^<uriref>.");
-
-        // Literals: numbers.
-        addTest("a: :p 2. .");
-        addTest("a: :p +2. .");
-        addTest("a: :p -2 .");
-        addTest("a: :p 2e6.");
-        addTest("a: :p 2e-6.");
-        addTest("a: :p -2e-6.");
-        addTest("a: :p 2.0e-6.");
-        addTest("a: :p 2.0 .");
-
-//             // The "unusual" cases
-//             addTest("a:subj 'prop'^^<uriref> 'string'.");
-//             addTest("a:subj a:prop 'string1'^^'stringDT'.");
-//
-//             addTest("a:subj a:prop1 ?x ^^ x:dt.");
-//             addTest("a:subj a:prop2 ?x ^^ ?x.");
-
-               // Quotes in string
-               addTest("a:subj a:prop \"\\'string2\\'\".");
-               addTest("a:subj a:prop \"\\\"string2\\\"\".");
-               addTest("a:subj a:prop '\\'string1\\'\'.");
-               addTest("a:subj a:prop '\\\"string1\\\"\'.");
-
-               addTest("a:q21 a:prop "+QUOTE3+"start\"finish"+QUOTE3+".");
-               addTest("a:q22 a:prop "+QUOTE3+"start\"\"finish"+QUOTE3+".");
-               addTest("a:q2e3 a:prop 
"+QUOTE3+"start\\\"\\\"\\\"finish"+QUOTE3+".");
-               addTest("a:q13 a:prop "+QUOTE3+"start'''finish"+QUOTE3+".");
-
-               addTest("a:q11 a:prop '''start'finish'''.");
-               addTest("a:q12 a:prop '''start''finish'''.");
-               addTest("a:q12 a:prop '''start\\'\\'\\'finish'''.");
-               addTest("a:q23 a:prop '''start\"\"\"finish'''.");
-
-               // Keywords and syntactic sugar
-//             addTest("this a:prop x:y .");
-//             addTest("a:subj  a   x:y .");
-//             addTest("a:subj  =   x:y .");
-//             addTest("a:subj  =>  x:y .");
-//             addTest("a:subj  <=  x:y .");
-//             // <=> is not legal : it would mean "implies and is implied by"
-//        // addTest("a:subj  <=> x:y .");
-//             addTest("a:subj  >- x:y -> 'value' .");
-//             addTest("a:subj  >- x:y -> 'value1', 'value2' .");
-
-               // Not keywords
-               addTest("a:subj <a>  x:y .");
-               addTest("<this>  a   x:y .");
-               addTest("@prefix has: <uri>.");
-
-               addTest("<>   a:prop  x:y .");
-               addTest("<#>  a:prop  x:y .");
-
-               // Object lists
-               addTest("a:subj a:prop a:d, a:e.");
-               addTest("a:subj a:prop a:d, '123'.");
-               addTest("a:subj a:prop '123', a:e.");
-        //addTest("a:subj a:prop '123', .");            // Null object list
-        //addTest("a:subj a:prop '123', '456', .");     // Null object list
-
-               // Property lists
-               addTest("a:subj a:p1 a:v1;  a:p2 a:v2 .");
-       addTest("a:subj a:p1 a:v1, a:v2;  a:p2 a:v2; a:p3 'v4' ,'v5' .");
-        addTest("a:subj a:p1 a:v1; .");                 // Null property list
-        addTest("a:subj a:p1 a:v1; a:p2 a:v2; .");      // Null property list
-
-
-               // anon nodes
-               addTest("[a:prop a:val].");
-               addTest("[] a:prop a:val.");
-               addTest("[] a:prop [].");
-
-               // formulae
-        // The final dot (statement terminator of outer statement) is necessary
-        // Inside formulae, it is not.
-//        addTest("{:x :y :z} => {:x :y :z}.");
-//        addTest("{:x :y :z} => {:x :y :z . }.");
-//        addTest("{:x :y :z. } => {:x :y :z}.");
-
-               // Variables
-//             addTest("?who ?knows ?what .");
-//             addTest("{?who ?knows ?what} => {'somesort' 'of' 'logic'}." );
-
-               // Formulae do not need the trailing '.'
-//             addTest("{ this a \"string2\". } => { this a 'string1'} .");
-
-               // And they can have directives in.
-//             addTest("{ @prefix : <a> } => { this a 'string1'} .");
-//             addTest("{ @prefix : <a> . a:x <b> 'c'} => { this a 'string1'} 
.");
-
-               // RDF collections
-               //addTest("() .");
-               addTest("<here> <list> ().");
-               addTest(" ( a:i1 a:i2 a:i3 ) a rdf:List.");
-
-               // Paths
-//             addTest(":x!:y <prop> [].");
-//             addTest(":x!:y!:z <prop> [].");
-//             addTest(":x^:y <prop> [].");
-//             addTest(":x^:y^:z <prop> [].");
-//             addTest("[] <prop> :x!:y^:z.");
-//             addTest("[] :x^:y!:z [].");
-
-        // Paths - using . (dot)
-//        addTest(":x.:y <prop> [].");
-//        addTest(":x.:y.:z <prop> [].");
-//        addTest("[] <prop> :a.:c.");
-//        addTest("<thing>.:y  <prop> [].");
-//        addTest("x:x.<thing>.:y  <prop> [].");
-//        addTest("<thing>.:y^:z  <prop> [].");
-//        addTest(":y.<thing>.:z  <prop> [].");
-//        addTest("<thing> :px.:py.:pz [] . ");
-//        addTest("<thing> :px!:py!:pz [] . ");
-
-        // Paths and formulae
-//        addTest("{ :a.:b.:c . }.");
-//        addTest("{ :a.:b.<c>.}.");
-
-               // Named things
-//             addTest("_:anon :- [a:p a:v] .");
-//             addTest("<uri> :- [a:p [ a:p a:v] ] .");
-//             // Named list: Not supported by cwm (as of 2001, 2002, 2003/09) 
but needed for printing shared
-//             addTest("_:anon :- (\"1\") .");
-//             // Named formulae: Not supported by cwm (as of 2001, 2002, 
2003/09)
-//             addTest("_:anon :- { ?a ?b ?c } .");
-
-        // Datatypes
-        addTest("a:subj a:prop '123'^^xsd:integer .");
-        addTest("a:subj a:prop '123'^^<uri> .");
-        addTest("a:subj a:prop '<tag>text</tag>'^^rdf:XMLLiteral .");
-
-        // Numbers
-        addTest("a:subj a:prop 123 .");
-        // addTest("a:subj a:prop 123."); Illegal N3
-        addTest("a:subj a:prop 123.1 .");
-        addTest("a:subj a:prop -123.1 .");
-        addTest("a:subj a:prop 123.1e3 .");
-        addTest("a:subj a:prop 123.1e-3 .");
-        addTest("a:subj a:prop 123.1E3 .");
-        addTest("a:subj a:prop 123.1E-3 .");
-
-        // Language tags
-        addTest("a:subj a:prop 'text'@en .");
-        // Illegal in N-Triples
-        //addTest("a:subj a:prop 'text'^^a:lang@en .");
-        //addTest("a:subj a:prop 'text'@en^^a:lang ."); // Can't have both
-
-        // XML Literal
-        addTest("a:subj a:prop '<tag>text</tag>'^^rdf:XMLLiteral ."); // Can't 
have both
-//        addTest("a:subj a:prop '<tag>text</tag>'^^rdf:XMLLiteral@fr .");
-
-        //addTest("a:subj a:prop ?x^^xsd:integer ."); // No varibales
-        //addTest("a:subj a:prop '123'^^?x .");
-        //addTest("a:subj a:prop ?x^^?y .");
-
-        // Unicode 00E9 is e-acute
-        // Unicode 03B1 is alpha
-        addTest("a:subj a:prop '\u00E9'.");
-        addTest("a:subj a:prop '\u003B1'.");
-
-        addTest("\u00E9:subj a:prop '\u00E9'.");
-        addTest("a:subj-\u00E9 a:prop '\u00E9'.");
-
-        addTest("\u03B1:subj a:prop '\u03B1'.");
-        addTest("a:subj-\u03B1 a:prop '\u03B1'.");
-       }
-
-       void addTest(String string) {  addTest(new Test(string)); }
-
-       static class Test extends TestCase
-       {
-               String testString;
-
-               Test(String s) { super(TestUtils.safeName(s)); testString = s; }
-
-               @Override
-        protected void runTest() throws Throwable
-               {
-            TurtleParser parser = new TurtleParser(new 
StringReader(testString));
-            parser.setEventHandler(new TurtleEventNull());
-            parser.getPrefixMapping().setNsPrefix("a", "http://host/a#";);
-            parser.getPrefixMapping().setNsPrefix("x", "http://host/a#";);
-            // Unicode 00E9 is e-acute
-            // Unicode 03B1 is alpha
-            parser.getPrefixMapping().setNsPrefix("\u00E9", 
"http://host/e-acute/";);
-            parser.getPrefixMapping().setNsPrefix("\u03B1", 
"http://host/alpha/";);
-            parser.getPrefixMapping().setNsPrefix("", "http://host/";);
-            parser.getPrefixMapping().setNsPrefix("rdf", 
"http://www.w3.org/1999/02/22-rdf-syntax-ns#";);
-            parser.getPrefixMapping().setNsPrefix("xsd", 
"http://www.w3.org/2001/XMLSchema#";);
-            parser.setBaseURI("http://base/";);
-            parser.parse();
-               }
-       }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestFactory.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestFactory.java
deleted file mode 100644
index ced5950369..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.apache.jena.junit.TestUtils;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.ttl_test.TestFactoryManifestOld;
-import org.apache.jena.vocabulary.RDF;
-
-public class TurtleTestFactory extends TestFactoryManifestOld {
-
-    public static TestSuite make(String filename) {
-        return new TurtleTestFactory().process(filename);
-    }
-
-    @Override
-    public Test makeTest(Resource manifest, Resource item, String testName, 
Resource action, Resource result) {
-        try {
-            Resource r = TestUtils.getResource(item, RDF.type);
-            Resource input = TestUtils.getResource(action, 
TurtleTestVocab.input);
-            Resource output = TestUtils.getResource(result, 
TurtleTestVocab.output);
-            Resource inputIRIr = TestUtils.getResource(action, 
TurtleTestVocab.inputIRI);
-            String baseIRI = (inputIRIr == null) ? null : inputIRIr.getURI();
-
-            if ( r.equals(TurtleTestVocab.TestInOut) ) {
-                System.out.printf("TestInOut %s, in:%s, out:%s, base=%s\n", 
testName, input.getURI(), output.getURI(), baseIRI);
-                return new TestItemTurtleExec(testName, input.getURI(), 
output.getURI(), baseIRI);
-            }
-
-            if ( r.equals(TurtleTestVocab.TestSyntax) ) {
-                System.out.printf("TestSynGood %s, in:%s\n", testName, 
input.getURI());
-                return new TestItemSyntax(testName, input.getURI());
-            }
-
-            if ( r.equals(TurtleTestVocab.TestBadSyntax) ) {
-                System.out.printf("TestSynBad %s, in:%s, out:%s, base=%s\n", 
testName, input.getURI(), output.getURI(), baseIRI);
-                return new TestItemBadSyntax(testName, input.getURI());
-            }
-
-            // if ( r.equals(TurtleTestVocab.TestSurpeessed ))
-            // return new TestSupressed(testName, null);
-
-            System.err.println("Unrecognized test : " + testName);
-            return null;
-
-        } catch (Exception ex) {
-            ex.printStackTrace(System.err);
-            System.err.println("Failed to grok test : " + testName);
-            return null;
-        }
-
-    }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestSuiteManifest.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestSuiteManifest.java
deleted file mode 100644
index df276a0cb0..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestSuiteManifest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class TurtleTestSuiteManifest extends TestSuite {
-    static public TestSuite suite() {
-        return new TurtleTestSuiteManifest();
-    }
-
-    private TurtleTestSuiteManifest() {
-        super("TurtleManifest");
-        testGood("rdf-schema"     , "RaptorTurtle/rdf-schema.ttl",      
"RaptorTurtle/rdf-schema.out");
-        testGood("rdfq-results"   , "RaptorTurtle/rdfq-results.ttl",    
"RaptorTurtle/rdfq-results.out", 
"http://www.w3.org/2001/sw/DataAccess/df1/tests/rdfq-results.ttl";);
-        testGood("rdfs-namespace" , "RaptorTurtle/rdfs-namespace.ttl",  
"RaptorTurtle/rdfs-namespace.out");
-        testGood("test-00"        , "RaptorTurtle/test-00.ttl",         
"RaptorTurtle/test-00.out",      
"http://www.w3.org/2001/sw/DataAccess/df1/tests/test-00.ttl";);
-        testGood("test-01"        , "RaptorTurtle/test-01.ttl",         
"RaptorTurtle/test-01.out");
-        testGood("test-02"        , "RaptorTurtle/test-02.ttl",         
"RaptorTurtle/test-02.out");
-        testGood("test-03"        , "RaptorTurtle/test-03.ttl",         
"RaptorTurtle/test-03.out");
-        testGood("test-04"        , "RaptorTurtle/test-04.ttl",         
"RaptorTurtle/test-04.out");
-        testGood("test-05"        , "RaptorTurtle/test-05.ttl",         
"RaptorTurtle/test-05.out");
-        testGood("test-06"        , "RaptorTurtle/test-06.ttl",         
"RaptorTurtle/test-06.out");
-        testGood("test-07"        , "RaptorTurtle/test-07.ttl",         
"RaptorTurtle/test-07.out");
-        testGood("test-08"        , "RaptorTurtle/test-08.ttl",         
"RaptorTurtle/test-08.out");
-        testGood("test-09"        , "RaptorTurtle/test-09.ttl",         
"RaptorTurtle/test-09.out");
-        testGood("test-10"        , "RaptorTurtle/test-10.ttl",         
"RaptorTurtle/test-10.out");
-        testGood("test-11"        , "RaptorTurtle/test-11.ttl",         
"RaptorTurtle/test-11.out");
-        testGood("test-12"        , "RaptorTurtle/test-12.ttl",         
"RaptorTurtle/test-12.out");
-        testGood("test-13"        , "RaptorTurtle/test-13.ttl",         
"RaptorTurtle/test-13.out");
-        testGood("test-14"        , "RaptorTurtle/test-14.ttl",         
"RaptorTurtle/test-14.out");
-        testGood("test-15"        , "RaptorTurtle/test-15.ttl",         
"RaptorTurtle/test-15.out");
-        testGood("test-16"        , "RaptorTurtle/test-16.ttl",         
"RaptorTurtle/test-16.out");
-
-        testBad("Bad-00" , "RaptorTurtle/bad-00.ttl");
-        testBad("Bad-01" , "RaptorTurtle/bad-01.ttl");
-        testBad("Bad-02" , "RaptorTurtle/bad-02.ttl");
-        testBad("Bad-03" , "RaptorTurtle/bad-03.ttl");
-        testBad("Bad-04" , "RaptorTurtle/bad-04.ttl");
-        testBad("Bad-05" , "RaptorTurtle/bad-05.ttl");
-        testBad("Bad-06" , "RaptorTurtle/bad-06.ttl");
-        testBad("Bad-07" , "RaptorTurtle/bad-07.ttl");
-        testBad("Bad-08" , "RaptorTurtle/bad-08.ttl");
-        testBad("Bad-09" , "RaptorTurtle/bad-09.ttl");
-        testBad("Bad-10" , "RaptorTurtle/bad-10.ttl");
-        testBad("Bad-11" , "RaptorTurtle/bad-11.ttl");
-        testBad("Bad-12" , "RaptorTurtle/bad-12.ttl");
-        testBad("Bad-13" , "RaptorTurtle/bad-13.ttl");
-    }
-
-    private void testBad(String name, String inputFile) {
-        TestCase test = new TestItemBadSyntax(name, 
"file:testing/Turtle/"+inputFile);
-        this.addTest(test);
-    }
-
-    private void testGood(String name, String inputFile, String outputFile) {
-        testGood(name, inputFile, outputFile, null);
-    }
-
-    private void testGood(String name, String inputFile, String outputFile, 
String baseURI) {
-        TestCase test = new TestItemTurtleExec(name, 
"file:testing/Turtle/"+inputFile, "file:testing/Turtle/"+outputFile, baseURI);
-        this.addTest(test);
-    }
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestVocab.java
 
b/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestVocab.java
deleted file mode 100644
index 9c7afcc14d..0000000000
--- 
a/jena-core/src/test/java/org/apache/jena/ttl_test/test/turtle/TurtleTestVocab.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.test.turtle;
-
-import org.apache.jena.rdf.model.*;
- 
-/**
- * Vocabulary definitions from TurtleTestVocab.ttl 
- */
-public class TurtleTestVocab {
-    /** <p>The RDF model that holds the vocabulary terms</p> */
-    private static Model m_model = ModelFactory.createDefaultModel();
-    
-    /** <p>The namespace of the vocabulary as a string</p> */
-    public static final String NS = 
"http://jena.hpl.hp.com/2005/12/test-turtle#";;
-    
-    /** <p>The namespace of the vocabulary as a string</p>
-     *  @see #NS */
-    public static String getURI() {return NS;}
-    
-    /** <p>The namespace of the vocabulary as a resource</p> */
-    public static final Resource NAMESPACE = m_model.createResource( NS );
-    
-    /** <p>Declare a IRI for the test input</p> */
-    public static final Property inputIRI = m_model.createProperty( 
"http://jena.hpl.hp.com/2005/12/test-turtle#inputIRI"; );
-    
-    /** <p>Output of a test</p> */
-    public static final Property output = m_model.createProperty( 
"http://jena.hpl.hp.com/2005/12/test-turtle#output"; );
-    
-    /** <p>Input to a test</p> */
-    public static final Property input = m_model.createProperty( 
"http://jena.hpl.hp.com/2005/12/test-turtle#input"; );
-    
-    public static final Resource TestInOut = m_model.createResource( 
"http://jena.hpl.hp.com/2005/12/test-turtle#TestInOut"; );
-    
-    public static final Resource TestBadSyntax = m_model.createResource( 
"http://jena.hpl.hp.com/2005/12/test-turtle#TestBadSyntax"; );
-    
-    public static final Resource TestSyntax = m_model.createResource( 
"http://jena.hpl.hp.com/2005/12/test-turtle#TestSyntax"; );
-    
-    public static final Resource Test = m_model.createResource( 
"http://jena.hpl.hp.com/2005/12/test-turtle#Test"; );
-    
-}
diff --git 
a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleReader.java 
b/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleReader.java
deleted file mode 100644
index c49b37e490..0000000000
--- a/jena-core/src/test/java/org/apache/jena/ttl_test/turtle/TurtleReader.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *   SPDX-License-Identifier: Apache-2.0
- */
-
-package org.apache.jena.ttl_test.turtle;
-
-import java.io.Reader;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.ttl_test.JenaReaderBase;
-
-
-public class TurtleReader extends JenaReaderBase
-{
-    
-    public TurtleReader() {}
-    
-    @Override
-    protected void readWorker(Model model, Reader reader, String base)
-    {
-        ParserTurtle p =  new ParserTurtle();
-        p.parse( model.getGraph(), base, reader );
-    }
-}


Reply via email to