This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 341a01db6f9afb4c42b5b01eb3ba103f0b498516 Author: Andy Seaborne <[email protected]> AuthorDate: Sun Dec 7 13:59:51 2025 +0000 Allow installing test makers that can be run by rdftests --- .../jena/arq/examples/Manifest_Examples.java | 3 +- .../java/org/apache/jena/arq/junit/Scripts.java | 47 +++++++++---------- .../apache/jena/arq/junit/manifest/TestMaker.java | 33 ++++++++++++++ .../{RunnableTestMaker.java => TestMakers.java} | 52 ++++++++++++++-------- .../jena/arq/junit/textrunner/ManifestHolder.java | 8 ++-- .../jena/arq/junit/textrunner/TextTestRunner.java | 18 ++++---- .../apache/jena/sparql/Scripts_SPARQL_Dataset.java | 13 +++--- jena-cmds/src/test/java/arq/rdftests.java | 8 ++-- .../java/org/apache/jena/tdb1/Scripts_TDB1.java | 13 +----- .../java/org/apache/jena/tdb2/Scripts_TDB2.java | 3 +- 10 files changed, 119 insertions(+), 79 deletions(-) diff --git a/jena-arq/src/test/java/org/apache/jena/arq/examples/Manifest_Examples.java b/jena-arq/src/test/java/org/apache/jena/arq/examples/Manifest_Examples.java index 4651b12d77..c6dbd2e6e5 100644 --- a/jena-arq/src/test/java/org/apache/jena/arq/examples/Manifest_Examples.java +++ b/jena-arq/src/test/java/org/apache/jena/arq/examples/Manifest_Examples.java @@ -23,6 +23,7 @@ import java.util.stream.Stream; import org.junit.jupiter.api.*; import org.apache.jena.arq.junit.Scripts; +import org.apache.jena.arq.junit.manifest.TestMakers; import org.apache.jena.sparql.expr.E_Function; import org.apache.jena.sparql.expr.NodeValue; @@ -47,7 +48,7 @@ public class Manifest_Examples { @TestFactory @DisplayName("ARQ Examples") public Stream<DynamicNode> testFactory_ARQ_Examples() { - return Scripts.manifestTestFactory("testing/ARQ/Examples/manifest.ttl", Scripts.testMakerSPARQL); + return Scripts.manifestTestFactory("testing/ARQ/Examples/manifest.ttl", TestMakers.testMakerSPARQL); } } diff --git a/jena-arq/src/test/java/org/apache/jena/arq/junit/Scripts.java b/jena-arq/src/test/java/org/apache/jena/arq/junit/Scripts.java index e5329bfa91..67d48c9844 100644 --- a/jena-arq/src/test/java/org/apache/jena/arq/junit/Scripts.java +++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/Scripts.java @@ -18,19 +18,13 @@ package org.apache.jena.arq.junit; -import java.util.function.Function; import java.util.stream.Stream; import org.junit.jupiter.api.DynamicNode; import org.junit.jupiter.api.function.Executable; -import org.apache.jena.arq.junit.manifest.EntryToTest; -import org.apache.jena.arq.junit.manifest.ManifestEntry; -import org.apache.jena.arq.junit.manifest.ManifestProcessor; -import org.apache.jena.arq.junit.manifest.RunnableTestMaker; +import org.apache.jena.arq.junit.manifest.*; import org.apache.jena.arq.junit.riot.ParsingStepForTest; -import org.apache.jena.arq.junit.riot.RiotTests; -import org.apache.jena.arq.junit.sparql.SparqlTests; import org.apache.jena.atlas.lib.StreamOps; import org.apache.jena.riot.Lang; import org.apache.jena.riot.ReaderRIOTFactory; @@ -38,13 +32,9 @@ import org.apache.jena.sparql.ARQException; public class Scripts { - public static Function<ManifestEntry, Runnable> testMakerSPARQL = SparqlTests::makeSPARQLTest; - public static Function<ManifestEntry, Runnable> testMakerRIOT = RiotTests::makeRIOTTest; + private static TestMakers runnableGenerator = TestMakers.system(); - static RunnableTestMaker runnableGenerator = RunnableTestMaker.std(); - public static Function<ManifestEntry, Runnable> testMaker() { return runnableGenerator.testMaker(); } - - public static Stream<DynamicNode> manifestTestFactory(String filename, String namePrefix, Function<ManifestEntry, Runnable> testMaker) { + private static Stream<DynamicNode> manifestTestFactory0(String filename, String namePrefix, TestMaker testMaker) { EntryToTest f = entry -> { Runnable r = testMaker.apply(entry); if ( r == null ) @@ -56,19 +46,30 @@ public class Scripts { return ManifestProcessor.testFactory(filename, namePrefix, f); } - public static Stream<DynamicNode> manifestTestFactory(String filename, Function<ManifestEntry, Runnable> testMaker) { + /** + * Return a function make tests from ManifestEntry entries that tries all + * installed test makers. + * @see TestMakers + */ + public static TestMaker testMakerGeneral() { return runnableGenerator.testMaker(); } + + public static Stream<DynamicNode> manifestTestFactory(String filename, String namePrefix, TestMaker testMaker) { + return manifestTestFactory0(filename, namePrefix, testMaker); + } + + public static Stream<DynamicNode> manifestTestFactory(String filename, TestMaker testMaker) { return manifestTestFactory(filename, null, testMaker); } - /** Make tests, tries both SPARQL and RIOT test types. */ + /** Make tests; tries all installed test makers. */ public static Stream<DynamicNode> manifestTestFactory(String filename) { - return manifestTestFactory(filename, (String)null); + return manifestTestFactory0(filename, (String)null, testMakerGeneral()); } - /** Make tests, tries both SPARQL and RIOT test types. */ - public static Stream<DynamicNode> manifestTestFactory(String filename, String namePrefix) { - return manifestTestFactory(filename, namePrefix, testMaker()); - } + /** Make tests, tries all installed test types. */ + public static Stream<DynamicNode> manifestTestFactory(String filename, String namePrefix) { + return manifestTestFactory0(filename, namePrefix, testMakerGeneral()); + } /** Specifically SPARQL tests */ public static Stream<DynamicNode> manifestTestFactorySPARQL(String filename) { @@ -77,7 +78,7 @@ public class Scripts { /** Specifically SPARQL tests */ public static Stream<DynamicNode> manifestTestFactorySPARQL(String filename, String namePrefix) { - return manifestTestFactory(filename, namePrefix, testMakerSPARQL); + return manifestTestFactory0(filename, namePrefix, TestMakers.testMakerSPARQL); } /** Specifically RIOT tests */ @@ -87,11 +88,11 @@ public class Scripts { /** Specifically RIOT tests */ public static Stream<DynamicNode> manifestTestFactoryRIOT(String filename, String namePrefix) { - return manifestTestFactory(filename, namePrefix, testMakerRIOT); + return manifestTestFactory0(filename, namePrefix, TestMakers.testMakerRIOT); } /** Produce tests from a number of test manifests. */ - public static Stream<DynamicNode> all(Function<ManifestEntry, Runnable> testMaker, String... manifests ) { + public static Stream<DynamicNode> all(TestMaker testMaker, String... manifests ) { if ( manifests == null || manifests.length == 0 ) throw new ARQException("No manifest files"); Stream<DynamicNode> x = null; diff --git a/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMaker.java b/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMaker.java new file mode 100644 index 0000000000..c08146cf56 --- /dev/null +++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMaker.java @@ -0,0 +1,33 @@ +/* + * 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 + * + * http://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. + */ + +package org.apache.jena.arq.junit.manifest; + +import java.util.function.Function; + +import org.apache.jena.arq.junit.SurpressedTest; + +/** + * A {@code TestMaker} is a function takes a {@link ManifestEntry} and provides a + * {@link Runnable} for the test. The function should return null if the + * {@link ManifestEntry} is not accepted by this {@code TestMaker}. + * <p> + * Use {@link SurpressedTest} to accept a manifest entry and do nothing. + */ +@FunctionalInterface +public interface TestMaker extends Function<ManifestEntry, Runnable> {} diff --git a/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/RunnableTestMaker.java b/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMakers.java similarity index 54% rename from jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/RunnableTestMaker.java rename to jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMakers.java index a2c9ced90f..7f05ea76ea 100644 --- a/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/RunnableTestMaker.java +++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/manifest/TestMakers.java @@ -20,7 +20,6 @@ package org.apache.jena.arq.junit.manifest; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; import org.apache.jena.arq.junit.SurpressedTest; import org.apache.jena.arq.junit.riot.RiotTests; @@ -29,38 +28,53 @@ import org.apache.jena.arq.junit.sparql.SparqlTests; import org.apache.jena.graph.Node; /** - * Manage a number of test makes so a {@code TestFactory} does not need to know the + * Manage a number of test makers so a {@code TestFactory} does not need to know the * kind of the tests. Making tests using {@link #testMaker} tries each registered - * test maker until one return non-null. + * test maker until one returns non-null. */ -public class RunnableTestMaker { +public class TestMakers { - private final List<Function<ManifestEntry, Runnable>> installed = new ArrayList<>(); + public static TestMaker testMakerSPARQL = SparqlTests::makeSPARQLTest; + public static TestMaker testMakerRIOT = RiotTests::makeRIOTTest; - public static RunnableTestMaker std() { - RunnableTestMaker maker = new RunnableTestMaker(); - maker.installTestMaker(SparqlTests::makeSPARQLTest); - maker.installTestMaker(RiotTests::makeRIOTTest); - maker.installTestMaker(SemanticsTests::makeSemanticsTest); + private final List<TestMaker> installed = new ArrayList<>(); + private static TestMakers systemSetup = systemSetup(); + + // The test makers in the codebase for W3C tests. + // Add more with "install" + private static TestMakers systemSetup() { + TestMakers maker = new TestMakers(); + maker.add(testMakerSPARQL); + maker.add(testMakerRIOT); + maker.add(SemanticsTests::makeSemanticsTest); return maker; } - private RunnableTestMaker() {} + /** + * Add a test maker to the system-wide test makers list + */ + public static void install(TestMaker testMaker) { + systemSetup.add(testMaker); + } - public RunnableTestMaker(List<Function<ManifestEntry, Runnable>> installed) { - this(); - for ( Function<ManifestEntry, Runnable> maker : installed ) { - installTestMaker(maker); - } + /** Return the system-wide instance of {@link TestMakers}. */ + public static TestMakers system() { + return systemSetup; } - public void installTestMaker(Function<ManifestEntry, Runnable> testMaker) { + public void add(TestMaker testMaker) { installed.add(testMaker); } - public Function<ManifestEntry, Runnable> testMaker() { + /** + * Return a function that takes a {@link ManifestEntry} and provides a test maker. + * The function iterates through the installed {@link TestMaker TestMakers} + * until it finds one that + * If no test maker is found, return a {@link SurpressedTest}. + */ + public TestMaker testMaker() { return (ManifestEntry entry) -> { - for ( Function<ManifestEntry, Runnable> engine : installed ) { + for ( TestMaker engine : installed ) { Runnable r = engine.apply(entry); if ( r != null ) return r; diff --git a/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/ManifestHolder.java b/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/ManifestHolder.java index be9dad77c6..707247a5fd 100644 --- a/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/ManifestHolder.java +++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/ManifestHolder.java @@ -26,6 +26,8 @@ import org.junit.jupiter.api.TestFactory; import org.apache.jena.arq.junit.Scripts; import org.apache.jena.arq.junit.manifest.ManifestProcessor; +import org.apache.jena.arq.junit.manifest.TestMaker; +import org.apache.jena.arq.junit.manifest.TestMakers; import org.apache.jena.atlas.lib.StreamOps; import org.apache.jena.riot.RiotNotFoundException; import org.apache.jena.shared.JenaException; @@ -41,7 +43,7 @@ class ManifestHolder { public Stream<DynamicNode> testFactory() { Stream<DynamicNode> tests = null; for ( var entry : ManifestConfiguration.get() ) { - Stream<DynamicNode> tests1 = oneManifest(entry.manifestFile(), entry.prefix()); + Stream<DynamicNode> tests1 = oneManifest(entry.manifestFile(), entry.prefix(), TestMakers.system().testMaker()); tests = StreamOps.concat(tests, tests1); } return tests; @@ -49,14 +51,14 @@ class ManifestHolder { private int totalManifestCount = 0 ; - private Stream<DynamicNode> oneManifest(String fn, String prefix) { + private Stream<DynamicNode> oneManifest(String fn, String prefix, TestMaker testMaker) { if ( fn == null ) { System.err.println("Manifest not set"); throw new JenaException("Manifest not set"); } try { int before = ManifestProcessor.getCounterManifests(); - Stream<DynamicNode> x = Scripts.manifestTestFactory(fn, prefix); + Stream<DynamicNode> x = Scripts.manifestTestFactory(fn, prefix, testMaker); int after = ManifestProcessor.getCounterManifests(); totalManifestCount = after-before; return x; diff --git a/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/TextTestRunner.java b/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/TextTestRunner.java index 9721d7e655..bf792f054a 100644 --- a/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/TextTestRunner.java +++ b/jena-arq/src/test/java/org/apache/jena/arq/junit/textrunner/TextTestRunner.java @@ -19,7 +19,7 @@ package org.apache.jena.arq.junit.textrunner; import java.util.List; -import java.util.function.Function; +import java.util.Objects; import org.junit.platform.engine.discovery.DiscoverySelectors; import org.junit.platform.launcher.Launcher; @@ -33,16 +33,15 @@ import org.junit.platform.launcher.listeners.TestExecutionSummary; import org.apache.jena.arq.junit.EarlReport; import org.apache.jena.arq.junit.manifest.EarlReporter; -import org.apache.jena.arq.junit.manifest.ManifestEntry; import org.apache.jena.atlas.io.IndentedWriter; public class TextTestRunner { - public static void run(List<String> manifestFiles, Function<ManifestEntry, Runnable> testMaker) { - runInternal(null, manifestFiles); + public static void run(List<String> manifestFiles) { + run(null, manifestFiles); } - public static void run(EarlReport report, List<String> manifestFiles, Function<ManifestEntry, Runnable> testMaker) { + public static void run(EarlReport report, List<String> manifestFiles) { runInternal(report, manifestFiles); } @@ -57,8 +56,10 @@ public class TextTestRunner { } // Either an EARL report xor text output. - static void runInternal0(IndentedWriter out, EarlReport earlReport, List<String> filenames) { - if ( filenames.isEmpty() ) + static void runInternal0(IndentedWriter out, EarlReport earlReport, List<String> manifestFiles) { + Objects.requireNonNull(manifestFiles); + + if ( manifestFiles.isEmpty() ) throw new IllegalArgumentException("No manifests"); boolean produceEarlReport = earlReport!=null ; @@ -71,9 +72,8 @@ public class TextTestRunner { out.println(string.get()); }); - ManifestConfiguration config = ManifestConfiguration.get(); - filenames.forEach(config::add); + manifestFiles.forEach(config::add); LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request() .selectors(DiscoverySelectors.selectClass(ManifestHolder.class)) diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/Scripts_SPARQL_Dataset.java b/jena-arq/src/test/java/org/apache/jena/sparql/Scripts_SPARQL_Dataset.java index 0189003fd9..38597192af 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/Scripts_SPARQL_Dataset.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/Scripts_SPARQL_Dataset.java @@ -18,13 +18,12 @@ package org.apache.jena.sparql; -import java.util.function.Function; import java.util.stream.Stream; import org.junit.jupiter.api.*; import org.apache.jena.arq.junit.Scripts; -import org.apache.jena.arq.junit.manifest.ManifestEntry; +import org.apache.jena.arq.junit.manifest.TestMaker; import org.apache.jena.arq.junit.sparql.SparqlTests; import org.apache.jena.atlas.lib.Creator; import org.apache.jena.query.Dataset; @@ -37,21 +36,21 @@ import org.apache.jena.sparql.graph.GraphFactory; public class Scripts_SPARQL_Dataset { - private static Function<ManifestEntry, Runnable> testMakerDataset(Creator<Dataset> creator) { + private static TestMaker testMakerDataset(Creator<Dataset> creator) { return (manifestEntry) -> SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); } @TestFactory @DisplayName("DS-TIM") public Stream<DynamicNode> testFactory_TIM() { - Function<ManifestEntry, Runnable> testMaker_TIM = testMakerDataset(()->DatasetFactory.createTxnMem()); + TestMaker testMaker_TIM = testMakerDataset(()->DatasetFactory.createTxnMem()); return Scripts.manifestTestFactory("testing/ARQ/manifest-arq.ttl", "TIM-", testMaker_TIM); } @TestFactory @DisplayName("DS-General") public Stream<DynamicNode> testFactory_General() { - Function<ManifestEntry, Runnable> testMaker_General = testMakerDataset(()->DatasetFactory.createGeneral()); + TestMaker testMaker_General = testMakerDataset(()->DatasetFactory.createGeneral()); return Scripts.manifestTestFactory("testing/ARQ/manifest-arq.ttl", "General-", testMaker_General); } @@ -59,7 +58,7 @@ public class Scripts_SPARQL_Dataset { @DisplayName("DS-Map") public Stream<DynamicNode> testFactory_Map() { Creator<Dataset> creator = ()->DatasetFactory.wrap(new DatasetGraphMap()); - Function<ManifestEntry, Runnable> testMaker_Map = testMakerDataset(creator); + TestMaker testMaker_Map = testMakerDataset(creator); return Scripts.manifestTestFactory("testing/ARQ/manifest-arq.ttl", "Map-", testMaker_Map); } @@ -67,7 +66,7 @@ public class Scripts_SPARQL_Dataset { @DisplayName("DS-MapLink") public Stream<DynamicNode> testFactory_MapLink() { Creator<Dataset> creator = ()->DatasetFactory.wrap(new DatasetGraphMapLink(GraphFactory.createDefaultGraph())); - Function<ManifestEntry, Runnable> testMaker_Map = testMakerDataset(creator); + TestMaker testMaker_Map = testMakerDataset(creator); return Scripts.manifestTestFactory("testing/ARQ/manifest-arq.ttl", "MapLink-", testMaker_Map); } diff --git a/jena-cmds/src/test/java/arq/rdftests.java b/jena-cmds/src/test/java/arq/rdftests.java index a65c40e93e..7f99e4e5cf 100644 --- a/jena-cmds/src/test/java/arq/rdftests.java +++ b/jena-cmds/src/test/java/arq/rdftests.java @@ -27,7 +27,6 @@ import arq.cmdline.ModContext; import arq.cmdline.ModEngine; import org.apache.jena.Jena; import org.apache.jena.arq.junit.EarlReport; -import org.apache.jena.arq.junit.Scripts; import org.apache.jena.arq.junit.manifest.ManifestEntry; import org.apache.jena.arq.junit.riot.ParsingStepForTest; import org.apache.jena.arq.junit.riot.RiotTests; @@ -117,7 +116,7 @@ public class rdftests extends CmdGeneral super.modVersion.addClass(Jena.class); addModule(modEngine); addModule(modContext); - + getUsage().startCategory("Tests (execute test manifest)"); add(useARQ, "--arq", "Operate with ARQ syntax"); add(useTTLjcc, "--ttljcc", "Use the alternative Turtle parser in tests"); @@ -192,10 +191,9 @@ public class rdftests extends CmdGeneral if ( manifests.isEmpty() ) throw new CmdException("No manifest files"); if ( createEarlReport ) - TextTestRunner.run(earlReport, manifests, Scripts.testMaker()); + TextTestRunner.run(earlReport, manifests); else - TextTestRunner.run(manifests, Scripts.testMaker()); - + TextTestRunner.run(manifests); } // Test subsystems. diff --git a/jena-tdb1/src/test/java/org/apache/jena/tdb1/Scripts_TDB1.java b/jena-tdb1/src/test/java/org/apache/jena/tdb1/Scripts_TDB1.java index ecdbb53efe..901eefd076 100644 --- a/jena-tdb1/src/test/java/org/apache/jena/tdb1/Scripts_TDB1.java +++ b/jena-tdb1/src/test/java/org/apache/jena/tdb1/Scripts_TDB1.java @@ -18,13 +18,12 @@ package org.apache.jena.tdb1; -import java.util.function.Function; import java.util.stream.Stream; import org.junit.jupiter.api.*; import org.apache.jena.arq.junit.Scripts; -import org.apache.jena.arq.junit.manifest.ManifestEntry; +import org.apache.jena.arq.junit.manifest.TestMaker; import org.apache.jena.arq.junit.sparql.SparqlTests; import org.apache.jena.atlas.lib.Creator; import org.apache.jena.query.ARQ; @@ -50,15 +49,7 @@ public class Scripts_TDB1 public Stream<DynamicNode> testFactory(){ @SuppressWarnings("removal") Creator<Dataset> creator = ()->TDB1Factory.createDataset(); - Function<ManifestEntry, Runnable> testMaker = (manifestEntry) -> SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); + TestMaker testMaker = (manifestEntry) -> SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); return Scripts.manifestTestFactory("testing/manifest.ttl", "TDB1-", testMaker); } -// -// private static Function<ManifestEntry, Runnable> testMaker() { -// Creator<Dataset> creator = ()->TDB2Factory.createDataset(); -// return -// (manifestEntry) -> -// SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); -// } - } diff --git a/jena-tdb2/src/test/java/org/apache/jena/tdb2/Scripts_TDB2.java b/jena-tdb2/src/test/java/org/apache/jena/tdb2/Scripts_TDB2.java index b9b34dd85b..63ca6e02ac 100644 --- a/jena-tdb2/src/test/java/org/apache/jena/tdb2/Scripts_TDB2.java +++ b/jena-tdb2/src/test/java/org/apache/jena/tdb2/Scripts_TDB2.java @@ -25,6 +25,7 @@ import org.junit.jupiter.api.*; import org.apache.jena.arq.junit.Scripts; import org.apache.jena.arq.junit.manifest.ManifestEntry; +import org.apache.jena.arq.junit.manifest.TestMaker; import org.apache.jena.arq.junit.sparql.SparqlTests; import org.apache.jena.atlas.lib.Creator; import org.apache.jena.query.ARQ; @@ -51,7 +52,7 @@ public class Scripts_TDB2 @DisplayName("TDB2") public Stream<DynamicNode> testFactory(){ Creator<Dataset> creator = ()->TDB2Factory.createDataset(); - Function<ManifestEntry, Runnable> testMaker = (manifestEntry) -> SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); + TestMaker testMaker = (manifestEntry) -> SparqlTests.makeSPARQLTestExecOnly(manifestEntry, creator); return Scripts.manifestTestFactory("testing/manifest.ttl", "TDB2-", testMaker); }
