This is an automated email from the ASF dual-hosted git repository.
olabusayo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil.git
The following commit(s) were added to refs/heads/main by this push:
new aaf9f1c80 Enable debug/trace for parse, unparse and test only
aaf9f1c80 is described below
commit aaf9f1c8005c56960fdf8d0fdfb023f637d1287e
Author: olabusayoT <[email protected]>
AuthorDate: Tue Sep 24 11:16:04 2024 -0400
Enable debug/trace for parse, unparse and test only
- make debug/trace non global and sub option for parse, unparse and test
only
- update CLI tests
- update daffodil-test-integration
- update command line documentation
Deprecation/Compatibility:
--trace and --debug are no longer global arguments for daffodil, and are
instead arguments for parse, unparse and test only.
DAFFODIL-1141
---
.../main/scala/org/apache/daffodil/cli/Main.scala | 187 ++++++++++++---------
.../daffodil/cli/cliTest/TestCLIParsing.scala | 6 +-
.../daffodil/cli/cliTest/TestCLISaveParser.scala | 16 +-
.../apache/daffodil/cli/cliTest/TestCLItdml.scala | 4 +-
.../apache/daffodil/cliTest/TestCLIDebugger.scala | 88 +++++-----
5 files changed, 168 insertions(+), 133 deletions(-)
diff --git a/daffodil-cli/src/main/scala/org/apache/daffodil/cli/Main.scala
b/daffodil-cli/src/main/scala/org/apache/daffodil/cli/Main.scala
index 8aec2dcb7..ba35a4306 100644
--- a/daffodil-cli/src/main/scala/org/apache/daffodil/cli/Main.scala
+++ b/daffodil-cli/src/main/scala/org/apache/daffodil/cli/Main.scala
@@ -323,24 +323,17 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
shortSubcommandsHelp()
// Global Options
- val debug = opt[Option[String]](
- argName = "file",
- descr =
- "Enable the interactive debugger. Optionally, read initial debugger
commands from [file] if provided."
- )(optionalValueConverter[String](a => a))
- val trace = opt[Boolean](descr = "Run this program with verbose trace
output")
val verbose = tally(descr = "Increment verbosity level, one level for each
-v")
val version = opt[Boolean](descr = "Show Daffodil's version")
// Parse Subcommand Options
object parse extends scallop.Subcommand("parse") {
- banner("""|Usage: daffodil parse (-s <schema> [-r <root>] | -P <parser>)
- | [-c <file>] [-D<variable>=<value>...] [-I
<infoset_type>]
- | [-o <output>] [--stream]
[-T<tunable>=<value>...] [-V <mode>]
- | [infile]
+ banner("""|Usage: daffodil parse (-s <schema> | -P <parser>) [PARSE_OPTS]
[--] [infile]
|
|Parse a file, using either a DFDL schema or a saved parser
|
+ |-- can be used to separate command-line options from trailing
arguments
+ |
|Parse Options:""".stripMargin)
descr("Parse data to a DFDL infoset")
@@ -380,8 +373,9 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
val rootNS = opt[RefQName](
"root",
argName = "node",
- descr =
- "Root element to use. Can be prefixed with {namespace}. Must be a
top-level element. Defaults to first top-level element of DFDL schema."
+ descr = "Root element to use. Can be prefixed with {namespace}. " +
+ "Must be a top-level element. Defaults to first top-level element of
DFDL schema. " +
+ "Only valid with the --schema option."
)
val schema =
opt[URISchemaSource](
@@ -402,7 +396,8 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
name = 'T',
keyName = "tunable",
valueName = "value",
- descr = "Tunable configuration options to change Daffodil's behavior"
+ descr = "Tunable configuration options to change Daffodil's behavior. " +
+ "Only valid with the --schema option."
)
val validate: ScallopOption[ValidationMode.Type] =
opt[ValidationMode.Type](
short = 'V',
@@ -410,6 +405,16 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
argName = "mode",
descr = "Validation mode. Use 'on', 'limited', 'off', or a validator
plugin name."
)
+ val debug = opt[Option[String]](
+ argName = "file",
+ descr =
+ "Enable the interactive debugger. Optionally, read initial debugger
commands from [file] if provided. " +
+ "Cannot be used with --trace option."
+ )(optionalValueConverter[String](a => a))
+ val trace = opt[Boolean](
+ descr = "Run this program with verbose trace output. " +
+ "Cannot be used with the --debug option."
+ )
val infile = trailArg[String](
required = false,
@@ -419,6 +424,8 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// must have one of --schema or --parser
requireOne(schema, parser)
+ mutuallyExclusive(trace, debug) // cannot provide both --trace and --debug
+
// if --parser is provided, cannot also provide --root or -T
conflicts(parser, List(rootNS, tunables))
@@ -450,13 +457,12 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// Unparse Subcommand Options
object unparse extends scallop.Subcommand("unparse") {
- banner("""|Usage: daffodil unparse (-s <schema> [-r <root>] | -P <parser>)
- | [-c <file>] [-D<variable>=<value>...]
[-I <infoset_type>]
- | [-o <output>] [--stream]
[-T<tunable>=<value>...] [-V <mode>]
- | [infile]
+ banner("""|Usage: daffodil unparse (-s <schema> | -P <parser>) [--]
[infile]
|
|Unparse an infoset file, using either a DFDL schema or a saved
parser
|
+ |-- can be used to separate command-line options from trailing
arguments
+ |
|Unparse Options:""".stripMargin)
descr("Unparse a DFDL infoset")
@@ -495,8 +501,9 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
val rootNS = opt[RefQName](
"root",
argName = "node",
- descr =
- "Root element to use. Can be prefixed with {namespace}. Must be a
top-level element. Defaults to first top-level element of DFDL schema."
+ descr = "Root element to use. Can be prefixed with {namespace}. " +
+ "Must be a top-level element. Defaults to first top-level element of
DFDL schema. " +
+ "Only valid with the --schema option."
)
val schema =
opt[URISchemaSource](
@@ -516,7 +523,8 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
name = 'T',
keyName = "tunable",
valueName = "value",
- descr = "Tunable configuration options to change Daffodil's behavior"
+ descr = "Tunable configuration options to change Daffodil's behavior. " +
+ "Only valid with the --schema option."
)
val validate: ScallopOption[ValidationMode.Type] =
opt[ValidationMode.Type](
short = 'V',
@@ -524,7 +532,16 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
argName = "mode",
descr = "Validation mode. Use 'on', 'limited', 'off', or a validator
plugin name."
)
-
+ val debug = opt[Option[String]](
+ argName = "file",
+ descr =
+ "Enable the interactive debugger. Optionally, read initial debugger
commands from [file] if provided. " +
+ "Cannot be used with --trace option."
+ )(optionalValueConverter[String](a => a))
+ val trace = opt[Boolean](
+ descr = "Run this program with verbose trace output. " +
+ "Cannot be used with the --debug option."
+ )
val infile = trailArg[String](
required = false,
descr = "Input file to unparse. If not specified, or a value of -, reads
from stdin."
@@ -533,6 +550,8 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// must have one of --schema or --parser
requireOne(schema, parser)
+ mutuallyExclusive(trace, debug) // cannot provide both --trace and --debug
+
// if --parser is provided, cannot also provide --root or -T
conflicts(parser, List(rootNS, tunables))
@@ -558,12 +577,12 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// Save Parser Subcommand Options
object save extends scallop.Subcommand("save-parser") {
- banner("""|Usage: daffodil save-parser -s <schema> [-r <root>]
- | [-c <file>]
[-D<variable>=<value>...] [-T<tunable>=<value>...]
- | [outfile]
+ banner("""|Usage: daffodil save-parser -s <schema> [SAVE_PARSER_OPTIONS]
[--] [outfile]
|
|Create and save a parser using a DFDL schema
|
+ |-- can be used to separate command-line options from trailing
arguments
+ |
|Save Parser Options:""".stripMargin)
descr("Save a Daffodil parser for reuse")
@@ -617,11 +636,13 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// Test Subcommand Options
object test extends scallop.Subcommand("test") {
banner(
- """|Usage: daffodil test [-I <implementation>] [-l] [-r] [-i] <tdmlfile>
[testnames...]
- |
- |List or execute tests in a TDML file
- |
- |Test Options:""".stripMargin
+ """|Usage: daffodil test [TEST_OPTIONS] [--] <tdmlfile> [testnames...]
+ |
+ |List or execute tests in a TDML file
+ |
+ |-- can be used to separate command-line options from trailing
arguments
+ |
+ |Test Options:""".stripMargin
)
descr("List or execute TDML tests")
@@ -638,25 +659,37 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
tally(descr = "Increment test result information output level, one level
for each -i")
val list = opt[Boolean](descr = "Show names and descriptions instead of
running test cases")
val regex = opt[Boolean](descr = "Treat <testnames...> as regular
expressions")
+ val debug = opt[Option[String]](
+ argName = "file",
+ descr =
+ "Enable the interactive debugger. Optionally, read initial debugger
commands from [file] if provided. " +
+ "Cannot be used with --trace option."
+ )(optionalValueConverter[String](a => a))
+ val trace = opt[Boolean](
+ descr = "Run this program with verbose trace output. " +
+ "Cannot be used with the --debug option."
+ )
val tdmlfile =
trailArg[String](required = true, descr = "Test Data Markup Language
(TDML) file")
val testnames = trailArg[List[String]](
required = false,
descr = "Name(s) of test cases in tdmlfile. If not given, all tests in
tdmlfile are run."
)
+
+ mutuallyExclusive(trace, debug) // cannot provide both --trace and --debug
}
// Performance Subcommand Options
object performance extends scallop.Subcommand("performance") {
- banner("""|Usage: daffodil performance (-s <schema> [-r <root>] | -P
<parser>)
- | [-c <file>]
[-D<variable>=<value>...] [-I <infoset_type>]
- | [-N <number>] [-t <threads>]
[-T<tunable>=<value>...]
- | [-u] [-V <mode>]
- | <infile>
+ banner(
+ """|Usage: daffodil performance (-s <schema> | -P <parser>)
[PERFORMANCE_OPTIONS] [--] <infile>
|
|Run a performance test, using either a DFDL schema or a saved
parser
|
- |Performance Options:""".stripMargin)
+ |-- can be used to separate command-line options from trailing
arguments
+ |
+ |Performance Options:""".stripMargin
+ )
descr("Run performance test")
helpWidth(width)
@@ -696,8 +729,9 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
val rootNS = opt[RefQName](
"root",
argName = "node",
- descr =
- "Root element to use. Can be prefixed with {namespace}. Must be a
top-level element. Defaults to first top-level element of DFDL schema."
+ descr = "Root element to use. Can be prefixed with {namespace}. " +
+ "Must be a top-level element. Defaults to first top-level element of
DFDL schema. " +
+ "Only valid with the --schema option."
)
val schema =
opt[URISchemaSource](
@@ -717,7 +751,8 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
name = 'T',
keyName = "tunable",
valueName = "value",
- descr = "Tunable configuration options to change Daffodil's behavior"
+ descr = "Tunable configuration options to change Daffodil's behavior. " +
+ "Only valid with the --schema option."
)
val unparse = opt[Boolean](
default = Some(false),
@@ -772,13 +807,15 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
extends scallop.Subcommand(languageArg) {
val language = languageArg
- banner(s"""|Usage: daffodil generate $language -s <schema> [-r <root>]
- | [-c <file>]
[-T<tunable>=<value>...]
- | [outdir]
+ banner(
+ s"""|Usage: daffodil generate $language -s <schema> [GENERATE_OPTIONS]
[--] [outdir]
|
|Generate $languageName code from a DFDL schema to parse or
unparse data
|
- |Generate Options:""".stripMargin)
+ |-- can be used to separate command-line options from
trailing arguments
+ |
+ |Generate Options:""".stripMargin
+ )
descr(s"Generate $languageName code from a DFDL schema")
helpWidth(width)
@@ -825,10 +862,12 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
// Encode or decode EXI Subcommand Options
object exi extends scallop.Subcommand("exi") {
- banner("""|Usage: daffodil exi [-d] [-s <schema>] [-o <output>] [infile]
+ banner("""|Usage: daffodil exi [EXI_OPTIONS] [--] [infile]
|
|Encode/decode an XML file with EXI. If a schema is specified,
it will use schema aware encoding/decoding.
|
+ |-- can be used to separate command-line options from trailing
arguments
+ |
|EncodeEXI Options:""".stripMargin)
descr("Encode an XML file with EXI")
@@ -860,7 +899,6 @@ class CLIConf(arguments: Array[String], stdout:
PrintStream, stderr: PrintStream
addSubcommand(generate)
addSubcommand(exi)
- mutuallyExclusive(trace, debug) // cannot provide both --trace and --debug
requireSubcommand()
verify()
@@ -1012,23 +1050,15 @@ class Main(
}
}
- def withDebugOrTrace(proc: DFDL.DataProcessor, conf: CLIConf):
DFDL.DataProcessor = {
- (conf.trace() || conf.debug.isDefined) match {
+ def withDebugOrTrace(
+ proc: DFDL.DataProcessor,
+ traceArg: ScallopOption[Boolean],
+ debugArg: ScallopOption[Option[String]]
+ ): DFDL.DataProcessor = {
+ (traceArg() || debugArg.isDefined) match {
case true => {
val runner =
- if (conf.trace()) {
- new TraceDebuggerRunner(STDOUT)
- } else {
- if (System.console == null) {
- Logger.log.warn(
- s"Using --debug on a non-interactive console may result in
display issues"
- )
- }
- conf.debug() match {
- case Some(f) => new CLIDebuggerRunner(new File(f), STDIN, STDOUT)
- case None => new CLIDebuggerRunner(STDIN, STDOUT)
- }
- }
+ getTraceOrCLIDebuggerRunner(traceArg, debugArg)
val id = new InteractiveDebugger(runner, ExpressionCompilers)
proc.withDebugger(id).withDebugging(true)
}
@@ -1036,6 +1066,25 @@ class Main(
}
}
+ private def getTraceOrCLIDebuggerRunner(
+ trace: ScallopOption[Boolean],
+ debug: ScallopOption[Option[String]]
+ ) = {
+ if (trace()) {
+ new TraceDebuggerRunner(STDOUT)
+ } else {
+ if (System.console == null) {
+ Logger.log.warn(
+ s"Using --debug on a non-interactive console may result in display
issues"
+ )
+ }
+ debug() match {
+ case Some(f) => new CLIDebuggerRunner(new File(f), STDIN, STDOUT)
+ case None => new CLIDebuggerRunner(STDIN, STDOUT)
+ }
+ }
+ }
+
def createProcessorFromSchema(
schemaSource: URISchemaSource,
rootNS: Option[RefQName],
@@ -1161,7 +1210,7 @@ class Main(
}.map {
_.withExternalVariables(combineExternalVariables(parseOpts.vars,
optDafConfig))
}.map { _.withValidationMode(validate) }
- .map { withDebugOrTrace(_, conf) }
+ .map { withDebugOrTrace(_, parseOpts.trace, parseOpts.debug) }
val rc = processor match {
case None => ExitCode.UnableToCreateProcessor
@@ -1499,7 +1548,7 @@ class Main(
}.map {
_.withExternalVariables(combineExternalVariables(unparseOpts.vars,
optDafConfig))
}.map { _.withValidationMode(validate) }
- .map { withDebugOrTrace(_, conf) }
+ .map { withDebugOrTrace(_, unparseOpts.trace, unparseOpts.debug) }
val output = unparseOpts.output.toOption match {
case Some("-") | None => STDOUT
@@ -1619,20 +1668,8 @@ class Main(
val optTDMLImplementation = testOpts.implementation.toOption
val tdmlRunnerInit = Runner(tdmlFile, optTDMLImplementation)
- val tdmlRunner = if (conf.trace() || conf.debug.isDefined) {
- val db = if (conf.trace()) {
- new TraceDebuggerRunner(STDOUT)
- } else {
- if (System.console == null) {
- Logger.log.warn(
- s"Using --debug on a non-interactive console may result in
display issues"
- )
- }
- conf.debug() match {
- case Some(f) => new CLIDebuggerRunner(new File(f), STDIN, STDOUT)
- case None => new CLIDebuggerRunner(STDIN, STDOUT)
- }
- }
+ val tdmlRunner = if (testOpts.trace() || testOpts.debug.isDefined) {
+ val db = getTraceOrCLIDebuggerRunner(testOpts.trace, testOpts.debug)
val id = new InteractiveDebugger(db, ExpressionCompilers)
tdmlRunnerInit.setDebugger(id)
tdmlRunnerInit
diff --git
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLIParsing.scala
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLIParsing.scala
index ae0deafc8..1df8726f2 100644
---
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLIParsing.scala
+++
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLIParsing.scala
@@ -536,7 +536,7 @@ class TestCLIParsing {
"daffodil-test/src/test/resources/org/apache/daffodil/section06/namespaces/multi_base_15.dfdl.xsd"
)
- runCLI(args"-t parse -s $schema") { cli =>
+ runCLI(args"parse -t -s $schema") { cli =>
cli.sendLine("test", inputDone = true)
cli.expect("parser: <Element name='rabbitHole'>")
}(ExitCode.Success)
@@ -547,7 +547,7 @@ class TestCLIParsing {
"daffodil-test/src/test/resources/org/apache/daffodil/section06/entities/charClassEntities.dfdl.xsd"
)
- runCLI(args"-t parse -s $schema") { cli =>
+ runCLI(args"parse -t -s $schema") { cli =>
cli.sendLine("0,1,2,3,,,,", inputDone = true)
cli.expectErr("Left over data. Consumed 56 bit(s) with at least")
cli.expectErr("Left over data (Hex) starting at byte 8 is: (")
@@ -775,7 +775,7 @@ class TestCLIParsing {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/cli_schema_02.dfdl.xsd"
)
- runCLI(args"--trace parse --stream -s $schema") { cli =>
+ runCLI(args"parse --trace --stream -s $schema") { cli =>
cli.send("123", inputDone = true)
cli.expect("<a>1</a>")
cli.expect("bitPosition: 8")
diff --git
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLISaveParser.scala
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLISaveParser.scala
index 973aa09aa..a802adb91 100644
---
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLISaveParser.scala
+++
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLISaveParser.scala
@@ -235,30 +235,28 @@ class TestCLISaveParser {
}
}
- // DAFFODIL-1141
- /*@Test*/
+ @Test
def test_CLI_Saving_SaveParser_debug(): Unit = {
val schema = path(
"daffodil-test/src/test/resources/org/apache/daffodil/section06/entities/charClassEntities.dfdl.xsd"
)
withTempFile { parser =>
- runCLI(args"-d save-parser -s $schema -r matrix $parser") { cli =>
- cli.expectErr("Some error about -d not being valid with save-parser")
+ runCLI(args"save-parser -d -s $schema -r matrix $parser") { cli =>
+ cli.expectErr("Unknown option 'd'")
}(ExitCode.Usage)
}
}
- // DAFFODIL-1141
- /*@Test*/
+ @Test
def test_CLI_Saving_SaveParser_trace(): Unit = {
val schema = path(
"daffodil-test/src/test/resources/org/apache/daffodil/section06/entities/charClassEntities.dfdl.xsd"
)
withTempFile { parser =>
- runCLI(args"-t save-parser -s $schema -r matrix $parser") { cli =>
- cli.expectErr("Some error about -t not being valid with save-parser")
+ runCLI(args"save-parser -t -s $schema -r matrix $parser") { cli =>
+ cli.expectErr("Unknown option 't'")
}(ExitCode.Usage)
}
}
@@ -272,7 +270,7 @@ class TestCLISaveParser {
)
withTempFile { parser =>
- runCLI(args"-t save-parser -s $schema -r matrix $parser") { _ =>
}(ExitCode.Success)
+ runCLI(args"save-parser -s $schema -r matrix $parser") { _ =>
}(ExitCode.Success)
runCLI(args"unparse --parser $parser $input") { cli =>
cli.expect("0,1,2")
diff --git
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLItdml.scala
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLItdml.scala
index 900fe9809..a1df13042 100644
---
a/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLItdml.scala
+++
b/daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLItdml.scala
@@ -115,7 +115,7 @@ class TestCLItdml {
"daffodil-test/src/test/resources/org/apache/daffodil/section06/entities/Entities.tdml"
)
- runCLI(args"-t test $tdml byte_entities_6_08") { cli =>
+ runCLI(args"test -t $tdml byte_entities_6_08") { cli =>
cli.expect("parser:")
cli.expect("bitPosition:")
cli.expect("data:")
@@ -131,7 +131,7 @@ class TestCLItdml {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/debug.txt"
)
- runCLI(args"-d $debugFile test $tdml byte_entities_6_08") { cli =>
+ runCLI(args"test -d $debugFile $tdml byte_entities_6_08") { cli =>
cli.expect("(debug)")
cli.expect("Usage:")
cli.expect("[Pass] byte_entities_6_08")
diff --git
a/daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala
b/daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala
index 1f36e4edc..b3cd2c770 100644
---
a/daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala
+++
b/daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala
@@ -89,7 +89,7 @@ class TestCLIDebugger {
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
intercept[Exception] {
- runCLI(args"-d parse -s $schema -r matrix $input", fork = false) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = false) { cli =>
cli.expect("(debug)")
cli.sendLine("continue")
}(ExitCode.Success)
@@ -102,7 +102,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("eval (/invalid)")
@@ -137,7 +137,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("garbage")
cli.expect("error: undefined command: garbage")
@@ -151,7 +151,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("debug")
cli.sendLine("info data")
@@ -172,7 +172,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("continue")
@@ -185,7 +185,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display eval (.)")
@@ -222,7 +222,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input6.txt")
- runCLI(args"-d parse -s $schema -r e $input", fork = true, envs = envs) {
cli =>
+ runCLI(args"parse -d -s $schema -r e $input", fork = true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("set removeHidden false")
cli.sendLine("display info infoset")
@@ -244,7 +244,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input6.txt")
- runCLI(args"-d parse -s $schema -r e $input", fork = true, envs = envs) {
cli =>
+ runCLI(args"parse -d -s $schema -r e $input", fork = true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("set removeHidden false")
cli.sendLine("display info infoset")
@@ -264,7 +264,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input3.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("break cell")
@@ -315,7 +315,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input3.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("set breakOnlyOnCreation false")
@@ -367,7 +367,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input5.txt")
- runCLI(args"-d parse -s $schema -r Item2 $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r Item2 $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info pointsOfUncertainty")
@@ -394,7 +394,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info infoset")
@@ -430,7 +430,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info infoset")
@@ -461,7 +461,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info infoset")
@@ -484,7 +484,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info occursIndex")
@@ -519,7 +519,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input3.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info infoset")
@@ -557,7 +557,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info bitPosition")
@@ -584,7 +584,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input4.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("break cell")
@@ -612,7 +612,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("break cell")
@@ -637,7 +637,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("break cell")
@@ -661,7 +661,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input9.txt")
- runCLI(args"-d parse -r list -s $schema $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -r list -s $schema $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("display info groupIndex")
@@ -689,7 +689,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input9.txt")
- runCLI(args"-d parse -r list -s $schema $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -r list -s $schema $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("display info dne1")
@@ -708,7 +708,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info data")
@@ -737,7 +737,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display data")
@@ -757,7 +757,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input2.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("break row")
@@ -792,7 +792,7 @@ class TestCLIDebugger {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/hextest.txt"
)
- runCLI(args"-d parse -s $schema -r e2 $input", fork = true, envs = envs) {
cli =>
+ runCLI(args"parse -d -s $schema -r e2 $input", fork = true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("info data")
@@ -808,7 +808,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("info infoset")
@@ -830,7 +830,7 @@ class TestCLIDebugger {
withTempFile { input =>
Files.write(input, "2~3".getBytes(UTF_8))
- runCLI(args"-d parse -s $schema -r e5 $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -s $schema -r e5 $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("break f")
@@ -863,7 +863,7 @@ class TestCLIDebugger {
withTempFile { input =>
Files.write(input, "2~3".getBytes(UTF_8))
- runCLI(args"-d parse -s $schema -r e4 $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -s $schema -r e4 $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("break f")
@@ -896,7 +896,7 @@ class TestCLIDebugger {
withTempFile { input =>
Files.write(input, "2,3".getBytes(UTF_8))
- runCLI(args"-d parse -s $schema -r e8 $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -s $schema -r e8 $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("break a")
@@ -936,7 +936,7 @@ class TestCLIDebugger {
withTempFile { input =>
Files.write(input, "[6~]9".getBytes(UTF_8))
- runCLI(args"-d parse -s $schema -r e9 $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"parse -d -s $schema -r e9 $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("break e")
@@ -1004,7 +1004,7 @@ class TestCLIDebugger {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input12.txt"
)
- runCLI(args"-d unparse -s $schema -r e1 $input", fork = true, envs = envs)
{ cli =>
+ runCLI(args"unparse -d -s $schema -r e1 $input", fork = true, envs = envs)
{ cli =>
cli.expect("(debug)")
cli.sendLine("break e1")
cli.expect("1: e1")
@@ -1022,7 +1022,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/prefix.txt")
- runCLI(args"-d parse -s $schema $input", fork = true, envs = envs) { cli =>
+ runCLI(args"parse -d -s $schema $input", fork = true, envs = envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info infoset")
cli.expect("(debug)")
@@ -1046,7 +1046,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("info variables byteOrder")
cli.expect("byteOrder: bigEndian (default)")
@@ -1060,7 +1060,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info data text")
cli.expect("(debug)")
@@ -1076,7 +1076,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info data binary")
cli.expect("(debug)")
@@ -1092,7 +1092,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r c $input", fork = true, envs = envs) {
cli =>
+ runCLI(args"parse -d -s $schema -r c $input", fork = true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("display info diff")
cli.expect("(debug)")
@@ -1120,7 +1120,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt")
- runCLI(args"-d parse -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
+ runCLI(args"parse -d -s $schema -r matrix $input", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("display info diff")
cli.expect("(debug)")
@@ -1154,7 +1154,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input6.txt")
- runCLI(args"-d parse -s $schema -r e $input", fork = true, envs = envs) {
cli =>
+ runCLI(args"parse -d -s $schema -r e $input", fork = true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("display info diff")
cli.expect("(debug)")
@@ -1184,7 +1184,7 @@ class TestCLIDebugger {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt.xml"
)
- runCLI(args"-d unparse -s $schema -r matrix -o $devNull $input", fork =
true, envs = envs) {
+ runCLI(args"unparse -d -s $schema -r matrix -o $devNull $input", fork =
true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("display info diff")
@@ -1224,7 +1224,7 @@ class TestCLIDebugger {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input9.txt.xml"
)
- runCLI(args"-d unparse -r list -s $schema -o $devNull $input", fork =
true, envs = envs) {
+ runCLI(args"unparse -d -r list -s $schema -o $devNull $input", fork =
true, envs = envs) {
cli =>
cli.expect("(debug)")
cli.sendLine("set diffExcludes doesNotExist1 bitLimit doesNotExist2")
@@ -1259,7 +1259,7 @@ class TestCLIDebugger {
)
val input =
path("daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input3.txt")
- runCLI(args"-d parse -s $schema $input", fork = true, envs = envs) { cli =>
+ runCLI(args"parse -d -s $schema $input", fork = true, envs = envs) { cli =>
cli.expect("(debug)")
cli.sendLine("info parser")
@@ -1283,7 +1283,7 @@ class TestCLIDebugger {
"daffodil-cli/src/test/resources/org/apache/daffodil/cli/input/input1.txt.xml"
)
- runCLI(args"-d unparse -s $schema $input", fork = true, envs = envs) { cli
=>
+ runCLI(args"unparse -d -s $schema $input", fork = true, envs = envs) { cli
=>
cli.expect("(debug)")
cli.sendLine("info unparser")
@@ -1302,7 +1302,7 @@ class TestCLIDebugger {
"daffodil-test/src/test/resources/org/apache/daffodil/section06/entities/Entities.tdml"
)
- runCLI(args"-d test $tdml byte_entities_6_08", fork = true, envs = envs) {
cli =>
+ runCLI(args"test -d -- $tdml byte_entities_6_08", fork = true, envs =
envs) { cli =>
cli.expect("(debug)")
cli.sendLine("continue")
cli.expect("[Pass] byte_entities_6_08")