tuxji commented on code in PR #1108:
URL: https://github.com/apache/daffodil/pull/1108#discussion_r1396287845
##########
daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala:
##########
@@ -22,19 +22,72 @@ import java.nio.file.Files
import org.apache.daffodil.cli.Main.ExitCode
import org.apache.daffodil.cli.cliTest.Util._
+import org.apache.daffodil.lib.Implicits._
import net.sf.expectit.matcher.Matchers.regexp
import org.junit.Test
+/**
+ * Tests specific to the CLI debugger
+ *
+ * Note that all tests set "fork = true" because SBT creates a class loader
with two versions of
+ * jline, one a dependency of SBT and one a dependency of Daffodil. With these
two versions on
+ * the classpath, sometimes a class is found in one version of jline and
sometimes in another,
+ * which causes compatibility issues and leads to exceptions being thrown. By
forking, we no
+ * longer use SBTs classloader and avoid the issue entirely.
Review Comment:
* SBT's
##########
daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala:
##########
@@ -22,19 +22,72 @@ import java.nio.file.Files
import org.apache.daffodil.cli.Main.ExitCode
import org.apache.daffodil.cli.cliTest.Util._
+import org.apache.daffodil.lib.Implicits._
import net.sf.expectit.matcher.Matchers.regexp
import org.junit.Test
+/**
+ * Tests specific to the CLI debugger
+ *
+ * Note that all tests set "fork = true" because SBT creates a class loader
with two versions of
+ * jline, one a dependency of SBT and one a dependency of Daffodil. With these
two versions on
+ * the classpath, sometimes a class is found in one version of jline and
sometimes in another,
+ * which causes compatibility issues and leads to exceptions being thrown. By
forking, we no
+ * longer use SBTs classloader and avoid the issue entirely.
+ *
+ * Note that because we fork, these tests are put it daffodil-test-integration
instead of
+ * daffodil-cli, since this project reqiures the daffodil CLI to be staged and
disables parallel
+ * execution to reduce memory requirements.
Review Comment:
Fix typos (it, reqiures):
```text
* Note that because we fork, these tests are put in
daffodil-test-integration instead of
* daffodil-cli, since this project requires the daffodil CLI to be staged
and disables parallel
* execution to reduce memory requirements.
```
##########
daffodil-test-integration/src/test/scala/org/apache/daffodil/cliTest/TestCLIDebugger.scala:
##########
@@ -22,19 +22,72 @@ import java.nio.file.Files
import org.apache.daffodil.cli.Main.ExitCode
import org.apache.daffodil.cli.cliTest.Util._
+import org.apache.daffodil.lib.Implicits._
import net.sf.expectit.matcher.Matchers.regexp
import org.junit.Test
+/**
+ * Tests specific to the CLI debugger
+ *
+ * Note that all tests set "fork = true" because SBT creates a class loader
with two versions of
+ * jline, one a dependency of SBT and one a dependency of Daffodil. With these
two versions on
+ * the classpath, sometimes a class is found in one version of jline and
sometimes in another,
+ * which causes compatibility issues and leads to exceptions being thrown. By
forking, we no
+ * longer use SBTs classloader and avoid the issue entirely.
+ *
+ * Note that because we fork, these tests are put it daffodil-test-integration
instead of
+ * daffodil-cli, since this project reqiures the daffodil CLI to be staged and
disables parallel
+ * execution to reduce memory requirements.
+ *
+ * Additionally, because we now fork, the forked process uses normal
stdin/stdout and so the
+ * CLIDebuggerRunner uses jline to find the best Terminal to use, instead of
using a
+ * DumbTerminal like when we don't fork. But the fancy terminal that jline
fines fails on
Review Comment:
fines -> finds
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]