diff --git a/cli.js b/cli.js index c5a51dfa..e05211da 100644 --- a/cli.js +++ b/cli.js @@ -109,12 +109,15 @@ function parseCliFlag(argument) { throw Error(message); } let value = parts.slice(1).join("="); - if (flagName === "no-prefetch") value = "false"; + if (flagName.startsWith("no-")) value = "false"; else if (value === "") value = "true"; cliParams.set(CLI_PARAMS[flagName].param, value); } +const printHelp = cliParams.delete("help"); +const dumpTestList = cliParams.delete("dumpTestList"); + if (cliArgs.length) { let tests = cliParams.has("test") ? cliParams.get("tests").split(",") : [] tests = tests.concat(cliArgs); @@ -126,7 +129,6 @@ if (cliParams.size) load("./utils/params.js"); - async function runJetStream() { try { await JetStream.initialize(); @@ -169,10 +171,11 @@ function help(message=undefined) { } } -if (cliParams.has("help")) { + +if (printHelp) { help(); -} else if (cliParams.has("dumpTestList")) { - JetStream.dumpTestList(); +} else if (dumpTestList) { + JetStream.dumpTestList(); } else { - runJetStream(); + runJetStream(); } diff --git a/tests/run-shell.mjs b/tests/run-shell.mjs index 7944dce0..8a7bd137 100644 --- a/tests/run-shell.mjs +++ b/tests/run-shell.mjs @@ -44,6 +44,13 @@ const TESTS = [ return runTest("UnitTests", () => sh(shell_binary, UNIT_TEST_PATH)); }, }, + { + name: "CLI Help", + tags: ["all", "main", "help"], + run(shell_binary) { + return runCLITest("Cli Help", shell_binary, "--help"); + }, + }, { name: "Single Suite", tags: ["all", "main", "single"], diff --git a/utils/params.js b/utils/params.js index 92a632e9..16db4356 100644 --- a/utils/params.js +++ b/utils/params.js @@ -45,7 +45,6 @@ class Params { RAMification = false; forceGC = false; dumpJSONResults = false; - dumpTestList = false; // Override iteration and worst-case counts per workload. // Example: // testIterationCountMap = { "acorn-wtb": 5 }; @@ -70,7 +69,6 @@ class Params { this.RAMification = this._parseBooleanParam(sourceParams, "RAMification"); this.dumpJSONResults = this._parseBooleanParam(sourceParams, "dumpJSONResults"); this.groupDetails = this._parseBooleanParam(sourceParams, "groupDetails"); - this.dumpTestList = this._parseBooleanParam(sourceParams, "dumpTestList"); this.forceGC = this._parseBooleanParam(sourceParams, "forceGC"); this.customPreIterationCode = this._parseStringParam(sourceParams, "customPreIterationCode");