You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2025/12/23 14:30:24 UTC
(jena) 01/03: GH-3670: Switch cmd class hierarchy: allow for command line, no exec
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 bb7a2a48abf74a9f30250f5da35eccf7bc7d4ab3
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Mon Dec 22 18:53:46 2025 +0000
GH-3670: Switch cmd class hierarchy: allow for command line, no exec
---
jena-cmds/src/main/java/arq/cmdline/CmdARQ.java | 4 +--
.../src/main/java/arq/cmdline/CmdARQ_SSE.java | 12 ++++---
.../java/org/apache/jena/cmd/CmdArgModule.java | 9 +++---
.../main/java/org/apache/jena/cmd/CmdGeneral.java | 22 +++++++------
.../main/java/org/apache/jena/cmd/CmdLineArgs.java | 8 +++++
.../src/main/java/org/apache/jena/cmd/CmdMain.java | 37 +++++++++++-----------
jena-cmds/src/main/java/rdfpatch/CmdRDFPatch.java | 4 +--
jena-cmds/src/main/java/riotcmd/CmdLangParse.java | 4 +--
jena-cmds/src/main/java/riotcmd/infer.java | 4 +--
jena-cmds/src/main/java/shacl/shacl_parse.java | 4 +--
jena-cmds/src/main/java/shacl/shacl_validate.java | 4 +--
jena-cmds/src/main/java/shex/shex_parse.java | 4 +--
jena-cmds/src/main/java/shex/shex_validate.java | 4 +--
.../main/java/tdb/xloader/CmdNodeTableBuilder.java | 4 +--
.../main/java/tdb2/xloader/AbstractCmdxLoad.java | 7 ++--
jena-cmds/src/test/java/arq/rdftests.java | 5 ++-
jena-cmds/src/test/java/shacl/shacl_test.java | 4 +--
.../src/test/java/dboe/BaseSoakTest.java | 26 +++++++--------
18 files changed, 87 insertions(+), 79 deletions(-)
diff --git a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
index fd6362c10b..b3135dd3fd 100644
--- a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
+++ b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java
@@ -20,11 +20,11 @@ package arq.cmdline;
import org.apache.jena.atlas.lib.Lib;
import org.apache.jena.cmd.ArgDecl;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.query.ARQ;
import org.apache.jena.sys.JenaSystem;
-public abstract class CmdARQ extends CmdGeneral {
+public abstract class CmdARQ extends CmdMain {
static {
JenaSystem.init();
}
diff --git a/jena-cmds/src/main/java/arq/cmdline/CmdARQ_SSE.java b/jena-cmds/src/main/java/arq/cmdline/CmdARQ_SSE.java
index 7834a12f83..4c7969fc91 100644
--- a/jena-cmds/src/main/java/arq/cmdline/CmdARQ_SSE.java
+++ b/jena-cmds/src/main/java/arq/cmdline/CmdARQ_SSE.java
@@ -23,16 +23,18 @@ import org.apache.jena.sparql.sse.Item ;
/** Root of read an SSE file and do something */
public abstract class CmdARQ_SSE extends CmdARQ
{
- protected ModItem modItem = new ModItem() ;
-
+ protected ModItem modItem = new ModItem() ;
+
public CmdARQ_SSE(String[] argv)
{
super(argv) ;
super.addModule(modItem) ;
}
-
+
@Override
- protected String getSummary() { return getCommandName()+" [--file<file> | string]" ; }
+ protected String getSummary() {
+ return getCommandName() + " [--file<file> | string]";
+ }
@Override
final protected void exec()
@@ -40,6 +42,6 @@ public abstract class CmdARQ_SSE extends CmdARQ
Item item = modItem.getItem() ;
exec(item) ;
}
-
+
protected abstract void exec(Item item) ;
}
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdArgModule.java b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdArgModule.java
index 545e601bee..2f5554cef9 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdArgModule.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdArgModule.java
@@ -21,7 +21,7 @@ package org.apache.jena.cmd;
import java.util.ArrayList;
import java.util.List;
-public abstract class CmdArgModule extends CmdMain
+public abstract class CmdArgModule extends CmdLineArgs
{
private List<ArgModuleGeneral> modules = new ArrayList<>();
@@ -34,9 +34,9 @@ public abstract class CmdArgModule extends CmdMain
}
@Override
- final public void process() {
+ public void process() {
super.process();
- forEach((controller, module) -> module.processArgs(controller));
+ forEach((cmdArgModule, module) -> module.processArgs(cmdArgModule));
processModulesAndArgs();
}
@@ -48,7 +48,8 @@ public abstract class CmdArgModule extends CmdMain
}
}
+ @FunctionalInterface
interface Action {
- public void action(CmdArgModule controller, ArgModuleGeneral module);
+ public void action(CmdArgModule cmdArgModule, ArgModuleGeneral module);
}
}
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
index 6054b7c63c..a18800ab62 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdGeneral.java
@@ -21,7 +21,7 @@ package org.apache.jena.cmd;
import java.io.PrintStream;
import org.apache.jena.atlas.io.IndentedWriter;
// Added usage + some common flags
-// This is the usual starting point for any sub
+// This is the starting point for argument processing.
public abstract class CmdGeneral extends CmdArgModule
{
@@ -40,9 +40,9 @@ public abstract class CmdGeneral extends CmdArgModule
argModule.registerWith(this);
}
- protected boolean isVerbose() { return modGeneral.verbose; }
- protected boolean isQuiet() { return modGeneral.quiet; }
- protected boolean isDebug() { return modGeneral.debug; }
+ public boolean isVerbose() { return modGeneral.verbose; }
+ public boolean isQuiet() { return modGeneral.quiet; }
+ public boolean isDebug() { return modGeneral.debug; }
protected boolean help() { return modGeneral.help; }
final public void printHelp() {
@@ -56,9 +56,16 @@ public abstract class CmdGeneral extends CmdArgModule
modVersion.printVersionAndExit();
}
+ public void add(ArgDecl argDecl, String argName, String msg) {
+ add(argDecl);
+ getUsage().addUsage(argName, msg);
+ }
+
private Usage usage = new Usage();
- protected String cmdName = null;
+
+ protected String getCommandName() { return null; }
protected abstract String getSummary();
+
public void usage() { usage(System.err); }
public void usage(PrintStream pStr) {
@@ -67,10 +74,5 @@ public abstract class CmdGeneral extends CmdArgModule
usage.output(out);
}
- public void add(ArgDecl argDecl, String argName, String msg) {
- add(argDecl);
- getUsage().addUsage(argName, msg);
- }
-
public Usage getUsage() { return usage; }
}
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java
index 73192f5310..452d5040d4 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdLineArgs.java
@@ -31,6 +31,14 @@ public class CmdLineArgs extends CommandLineBase {
super(args);
}
+ public void cmdError(String msg) { cmdError(msg, true);}
+
+ public void cmdError(String msg, boolean exit) {
+ System.err.println(msg);
+ if ( exit )
+ throw new TerminationException(5);
+ }
+
private boolean processedArgs = false;
// Setup:
diff --git a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
index 8425b8578d..a6056ab270 100644
--- a/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
+++ b/jena-cmds/src/main/java/org/apache/jena/cmd/CmdMain.java
@@ -19,22 +19,28 @@
package org.apache.jena.cmd;
import org.apache.jena.atlas.logging.LogCtl;
-/** Adds main()-like methods
- *
+
+/**
+ * Adds main()-like methods to argument processing.
+ * <p>
+ * Use this class for commands that follow the common pattern of processing arguments
+ * and then executing with no additional intermediate steps.
+ * <p>
* Usage:
- * new YourCommand(args).mainAndExit()
- * which never returns and routes thing to System.exit.
- * or call
- * new YourCommand(args).mainMethod()
- * which should not call System.exit anywhere */
+ * <pre>new YourCommand(args).mainAndExit()</pre>
+ * which never returns and routes to System.exit. or call
+ * <pre>new YourCommand(args).mainMethod()</pre>
+ *
+ * which should not call {@code System.exit} anywhere.
+ */
-public abstract class CmdMain extends CmdLineArgs
+public abstract class CmdMain extends CmdGeneral
{
// Do this very early so it happens before anything else
// gets a chance to create a logger.
static { LogCtl.setLogging(); }
- public CmdMain(String[] args) {
+ protected CmdMain(String[] args) {
super(args);
}
@@ -81,18 +87,11 @@ public abstract class CmdMain extends CmdLineArgs
return 0;
}
- protected final void mainMethod() {
- process();
- exec();
- }
protected abstract void exec();
- protected abstract String getCommandName();
- public void cmdError(String msg) { cmdError(msg, true);}
- public void cmdError(String msg, boolean exit) {
- System.err.println(msg);
- if ( exit )
- throw new TerminationException(5);
+ protected final void mainMethod() {
+ process();
+ exec();
}
}
diff --git a/jena-cmds/src/main/java/rdfpatch/CmdRDFPatch.java b/jena-cmds/src/main/java/rdfpatch/CmdRDFPatch.java
index c0de8d9051..23f895a619 100644
--- a/jena-cmds/src/main/java/rdfpatch/CmdRDFPatch.java
+++ b/jena-cmds/src/main/java/rdfpatch/CmdRDFPatch.java
@@ -26,11 +26,11 @@ import arq.cmdline.ModTime;
import org.apache.jena.atlas.io.IO;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.sys.JenaSystem;
/** Abstract base class to work on patch files given on the command line */
-public abstract class CmdRDFPatch extends CmdGeneral {
+public abstract class CmdRDFPatch extends CmdMain {
static {
LogCtl.setLogging();
JenaSystem.init();
diff --git a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
index c1b66dea74..0920c0634e 100644
--- a/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
+++ b/jena-cmds/src/main/java/riotcmd/CmdLangParse.java
@@ -36,7 +36,7 @@ import org.apache.jena.atlas.lib.Pair;
import org.apache.jena.atlas.logging.Log;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.irix.IRIException;
import org.apache.jena.irix.IRIs;
import org.apache.jena.irix.IRIxResolver;
@@ -54,7 +54,7 @@ import org.apache.jena.sparql.core.Quad;
import org.apache.jena.sys.JenaSystem;
/** Common framework for running RIOT parsers */
-public abstract class CmdLangParse extends CmdGeneral {
+public abstract class CmdLangParse extends CmdMain {
static {
JenaSystem.init();
}
diff --git a/jena-cmds/src/main/java/riotcmd/infer.java b/jena-cmds/src/main/java/riotcmd/infer.java
index a64f891db8..4d9fe663fd 100644
--- a/jena-cmds/src/main/java/riotcmd/infer.java
+++ b/jena-cmds/src/main/java/riotcmd/infer.java
@@ -23,7 +23,7 @@ import java.util.List ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.graph.Graph;
import org.apache.jena.rdfs.RDFSFactory;
import org.apache.jena.riot.Lang ;
@@ -78,7 +78,7 @@ AllegroGraph RDFS++
* owl:inverseOf
* owl:TransitiveProperty
*/
-public class infer extends CmdGeneral
+public class infer extends CmdMain
{
static final ArgDecl argRDFS = new ArgDecl(ArgDecl.HasValue, "rdfs") ;
private Graph vocab ;
diff --git a/jena-cmds/src/main/java/shacl/shacl_parse.java b/jena-cmds/src/main/java/shacl/shacl_parse.java
index d0ed0f0682..0792fdc4b6 100644
--- a/jena-cmds/src/main/java/shacl/shacl_parse.java
+++ b/jena-cmds/src/main/java/shacl/shacl_parse.java
@@ -30,7 +30,7 @@ import org.apache.jena.atlas.io.IndentedWriter;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.graph.Graph;
import org.apache.jena.irix.IRIException;
import org.apache.jena.irix.IRIs;
@@ -49,7 +49,7 @@ import org.apache.jena.sys.JenaSystem;
* <p>
* Usage: <code>shacl parse FILE</code>
*/
-public class shacl_parse extends CmdGeneral {
+public class shacl_parse extends CmdMain {
static {
LogCtl.setLogging();
JenaSystem.init();
diff --git a/jena-cmds/src/main/java/shacl/shacl_validate.java b/jena-cmds/src/main/java/shacl/shacl_validate.java
index e850f737ac..722244c331 100644
--- a/jena-cmds/src/main/java/shacl/shacl_validate.java
+++ b/jena-cmds/src/main/java/shacl/shacl_validate.java
@@ -21,7 +21,7 @@ package shacl;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.graph.Graph;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
@@ -39,7 +39,7 @@ import org.apache.jena.sys.JenaSystem;
* <p>
* Usage: <code>shacl validate [--text] --shapes SHAPES --data DATA</code>
*/
-public class shacl_validate extends CmdGeneral {
+public class shacl_validate extends CmdMain {
static {
LogCtl.setLogging();
diff --git a/jena-cmds/src/main/java/shex/shex_parse.java b/jena-cmds/src/main/java/shex/shex_parse.java
index c694861a27..a069d2ada4 100644
--- a/jena-cmds/src/main/java/shex/shex_parse.java
+++ b/jena-cmds/src/main/java/shex/shex_parse.java
@@ -30,7 +30,7 @@ import org.apache.jena.atlas.lib.FileOps;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.riot.RiotException;
import org.apache.jena.shex.Shex;
import org.apache.jena.shex.ShexSchema;
@@ -42,7 +42,7 @@ import org.apache.jena.sys.JenaSystem;
* <p>
* Usage: <code>shex parse FILE</code>
*/
-public class shex_parse extends CmdGeneral {
+public class shex_parse extends CmdMain {
static {
LogCtl.setLogging();
JenaSystem.init();
diff --git a/jena-cmds/src/main/java/shex/shex_validate.java b/jena-cmds/src/main/java/shex/shex_validate.java
index 300751b81b..db3c170926 100644
--- a/jena-cmds/src/main/java/shex/shex_validate.java
+++ b/jena-cmds/src/main/java/shex/shex_validate.java
@@ -23,7 +23,7 @@ import java.io.OutputStream;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.graph.Graph;
import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
@@ -37,7 +37,7 @@ import org.apache.jena.sys.JenaSystem;
* <p>
* Usage: <code>shex validate [--text] --shapes SHAPES --data DATA</code>
*/
-public class shex_validate extends CmdGeneral {
+public class shex_validate extends CmdMain {
static {
LogCtl.setLogging();
diff --git a/jena-cmds/src/main/java/tdb/xloader/CmdNodeTableBuilder.java b/jena-cmds/src/main/java/tdb/xloader/CmdNodeTableBuilder.java
index 2f502c00a2..d2d0a0a623 100644
--- a/jena-cmds/src/main/java/tdb/xloader/CmdNodeTableBuilder.java
+++ b/jena-cmds/src/main/java/tdb/xloader/CmdNodeTableBuilder.java
@@ -26,7 +26,7 @@ import org.apache.jena.atlas.lib.FileOps;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFLanguages;
import org.apache.jena.sys.JenaSystem;
@@ -36,7 +36,7 @@ import org.apache.jena.tdb1.store.xloader.ProcNodeTableDataBuilder;
import tdb.cmdline.CmdTDB;
/** Build node table - write triples/quads as text file */
-public class CmdNodeTableBuilder extends CmdGeneral
+public class CmdNodeTableBuilder extends CmdMain
{
static {
LogCtl.setLogging();
diff --git a/jena-cmds/src/main/java/tdb2/xloader/AbstractCmdxLoad.java b/jena-cmds/src/main/java/tdb2/xloader/AbstractCmdxLoad.java
index 8cde22aa68..1ee545846b 100644
--- a/jena-cmds/src/main/java/tdb2/xloader/AbstractCmdxLoad.java
+++ b/jena-cmds/src/main/java/tdb2/xloader/AbstractCmdxLoad.java
@@ -28,7 +28,7 @@ import java.util.List;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.sys.JenaSystem;
import org.apache.jena.tdb2.xloader.XLoaderFiles;
@@ -36,7 +36,7 @@ import org.apache.jena.tdb2.xloader.XLoaderFiles;
* Base class for TDB xloaders commands for java steps in the load process.
* All steps accept all the same arguments, even if they are not applicable to the stage.
*/
-abstract class AbstractCmdxLoad extends CmdGeneral {
+abstract class AbstractCmdxLoad extends CmdMain {
static {
JenaSystem.init();
LogCtl.setLog4j2();
@@ -79,9 +79,6 @@ abstract class AbstractCmdxLoad extends CmdGeneral {
protected abstract void setCmdArgs();
- @Override
- protected abstract String getSummary();
-
protected String getArgsSummary() {
return "--loc=DIR --tmpdir=DIR";
}
diff --git a/jena-cmds/src/test/java/arq/rdftests.java b/jena-cmds/src/test/java/arq/rdftests.java
index 406c556e09..cb6919b743 100644
--- a/jena-cmds/src/test/java/arq/rdftests.java
+++ b/jena-cmds/src/test/java/arq/rdftests.java
@@ -40,7 +40,7 @@ import org.apache.jena.atlas.lib.Lib;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.jena.cmd.ArgDecl;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.cmd.TerminationException;
import org.apache.jena.graph.Node;
import org.apache.jena.query.ARQ;
@@ -76,8 +76,7 @@ import org.apache.jena.vocabulary.XSD;
* </pre>
*/
-public class rdftests extends CmdGeneral
-{
+public class rdftests extends CmdMain {
static {
JenaSystem.init();
LogCtl.setLog4j2();
diff --git a/jena-cmds/src/test/java/shacl/shacl_test.java b/jena-cmds/src/test/java/shacl/shacl_test.java
index 9381d87b14..d9b704112b 100644
--- a/jena-cmds/src/test/java/shacl/shacl_test.java
+++ b/jena-cmds/src/test/java/shacl/shacl_test.java
@@ -20,12 +20,12 @@ package shacl;
import org.apache.jena.atlas.logging.Log;
import org.apache.jena.atlas.logging.LogCtl;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
import org.apache.jena.shacl.engine.ValidationContext;
import org.apache.jena.shacl.testing.RunManifest;
import org.apache.jena.sys.JenaSystem;
-public class shacl_test extends CmdGeneral {
+public class shacl_test extends CmdMain {
static {
LogCtl.setLogging();
diff --git a/jena-integration-tests/src/test/java/dboe/BaseSoakTest.java b/jena-integration-tests/src/test/java/dboe/BaseSoakTest.java
index d3c1a440d1..afa2f3ccde 100644
--- a/jena-integration-tests/src/test/java/dboe/BaseSoakTest.java
+++ b/jena-integration-tests/src/test/java/dboe/BaseSoakTest.java
@@ -23,16 +23,16 @@ import java.util.List;
import org.apache.jena.atlas.lib.Lib;
import org.apache.jena.atlas.lib.RandomLib;
import org.apache.jena.cmd.CmdException;
-import org.apache.jena.cmd.CmdGeneral;
+import org.apache.jena.cmd.CmdMain;
-public abstract class BaseSoakTest extends CmdGeneral {
+public abstract class BaseSoakTest extends CmdMain {
protected final int MinOrder = 2;
protected final int MinSize = 1;
protected int MaxOrder = -1;
protected int MaxSize = -1;
protected int NumTest = -1;
-
+
protected BaseSoakTest(String[] argv) {
super(argv);
}
@@ -50,7 +50,7 @@ public abstract class BaseSoakTest extends CmdGeneral {
List<String> args = super.getPositional();
if ( args.size() != 3 )
throw new CmdException("Usage: maxOrder maxSize NumTests");
-
+
try { MaxOrder = Integer.parseInt(args.get(0)); }
catch (NumberFormatException ex)
{ throw new CmdException("Bad number for MaxOrder"); }
@@ -76,10 +76,10 @@ public abstract class BaseSoakTest extends CmdGeneral {
testsPerTick = 5;
else if ( NumTest < 200 )
testsPerTick = 50;
- else
+ else
testsPerTick = 500;
-
-
+
+
// ---- Format for line counter.
int numLines = (int)Math.ceil( ((double)NumTest) / (testsPerTick * numOnLine) );
// Start of last line.
@@ -90,11 +90,11 @@ public abstract class BaseSoakTest extends CmdGeneral {
String format = "[%"+digits+"d] ";
System.out.printf("TEST : %,d tests : Max Order=%d Max Items=%,d [tests per tick=%d]\n", NumTest, MaxOrder, MaxSize, testsPerTick);
-
+
before();
-
+
int testCount = 1;
-
+
for ( testCount = 1; testCount <= NumTest; testCount++ ) {
if ( testCount % testsPerTick == 0 )
System.out.print(".");
@@ -117,11 +117,11 @@ public abstract class BaseSoakTest extends CmdGeneral {
failures++;
}
}
-
+
// Did the last loop print a new line?
if ( (testCount-1) % (testsPerTick*numOnLine) != 0 )
System.out.println();
-
+
after();
System.err.flush();
System.out.flush();
@@ -133,6 +133,6 @@ public abstract class BaseSoakTest extends CmdGeneral {
protected abstract void runOneTest(int testCount, int order, int size);
@Override
- protected String getCommandName() { return Lib.className(this); }
+ protected String getCommandName() { return Lib.className(this); }
}