Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Due to dependency conflicts with the version of jline that SBT ships with and broken ClassLoader created by SBT, we must fork any tests that use jline. Fortunately, this is a small number of CLI debug related tests. Because these tests must fork, they are moved to the daffodil-test-integration project, where daffodil is staged for fork execution and parallel test execution is disabled to reduce memory usage. This causes a pretty large increase in execution time for integration tests, but unfortunately there are not many good alternatives. Additionally, because these tests now fork they use jlines normal TermainalBuilder instead of the DumbTerminal, which fails the integration tests on windows. To fix this, runCLI adds a new option to provide environment variables, and these tests provide set options that force jline to use a dumb terminal. This also adds a test that should fail if sbt or jline ever change to fix this issue, allowing us to revert this change so integration tests do not take as long. This also found an issue in the CLI where if a bug is found we print the stack trace to stdout instead of to whatever PrintStream the CLI is configured to use for stdout. In most cases these are going to be the same so doesn't matter, but in CLI testing that isn't the case.
- Loading branch information