You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by ji...@apache.org on 2021/03/30 15:15:25 UTC
[daffodil] 09/09: Fix test failures after rebase
This is an automated email from the ASF dual-hosted git repository.
jinterrante pushed a commit to branch runtime2-2202
in repository https://gitbox.apache.org/repos/asf/daffodil.git
commit b54772285a3b418ee853b029f2cabe65f0eafbd9
Author: John Interrante <in...@research.ge.com>
AuthorDate: Sat Mar 27 14:33:45 2021 -0400
Fix test failures after rebase
Rebase runtime2-2202 on latest commits from asf/master. Fix test
failures in TestCLIGenerateC.scala due to changes in scallop API.
Improve CLI error handling in Main.scala. Make tempDir val instead of
var in both TestCLIGenerateC.scala and TestCodeGenerator.scala by
initializing it immediately instead of using before() method.
---
.../daffodil/generating/TestCLIGenerateC.scala | 42 ++++++++++------------
.../src/main/scala/org/apache/daffodil/Main.scala | 1 +
.../daffodil/runtime2/TestCodeGenerator.scala | 9 ++---
3 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/daffodil-cli/src/it/scala/org/apache/daffodil/generating/TestCLIGenerateC.scala b/daffodil-cli/src/it/scala/org/apache/daffodil/generating/TestCLIGenerateC.scala
index e94ebec..33ed867 100644
--- a/daffodil-cli/src/it/scala/org/apache/daffodil/generating/TestCLIGenerateC.scala
+++ b/daffodil-cli/src/it/scala/org/apache/daffodil/generating/TestCLIGenerateC.scala
@@ -21,7 +21,6 @@ import net.sf.expectit.matcher.Matchers.contains
import net.sf.expectit.matcher.Matchers.eof
import org.apache.daffodil.CLI.Util
import org.junit.After
-import org.junit.Before
import org.junit.Test
/**
@@ -31,20 +30,17 @@ import org.junit.Test
class TestCLIGenerateC {
val daffodil: String = Util.binPath
- var outputDir: os.Path = _
lazy val schemaFile: String = if (Util.isWindows) Util.cmdConvert(sf) else sf
val sf: String = Util.daffodilPath("daffodil-runtime2/src/test/resources/org/apache/daffodil/runtime2/ex_nums.dfdl.xsd")
-
- @Before def before(): Unit = {
- outputDir = os.temp.dir()
- }
+ // Ensure all tests remove tempDir after creating it
+ val tempDir: os.Path = os.temp.dir()
@After def after(): Unit = {
- os.remove.all(outputDir)
+ os.remove.all(tempDir)
}
@Test def test_CLI_Generate_schema(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile $tempDir"
val exitCmd = "exit"
val shell = Util.start("")
@@ -56,11 +52,11 @@ class TestCLIGenerateC {
shell.close()
}
- assert(os.exists(outputDir/"c"/"libruntime"/"generated_code.c"))
+ assert(os.exists(tempDir/"c"/"libruntime"/"generated_code.c"))
}
@Test def test_CLI_Generate_noC_error(): Unit = {
- val generateCmd = s"$daffodil generate -s $schemaFile $outputDir"
+ val generateCmd = s"$daffodil generate -s $schemaFile $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
@@ -75,13 +71,13 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_otherThanC_error(): Unit = {
- val generateCmd = s"$daffodil generate vhld -s $schemaFile $outputDir"
+ val generateCmd = s"$daffodil generate vhld -s $schemaFile $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
try {
shell.sendLine(generateCmd)
- shell.expect(contains("Excess arguments provided: 'vhld"))
+ shell.expect(contains("Unknown option 's'"))
shell.sendLine(exitCmd)
shell.expect(eof())
} finally {
@@ -90,7 +86,7 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_noSchema_error(): Unit = {
- val generateCmd = s"$daffodil generate c $outputDir"
+ val generateCmd = s"$daffodil generate c $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
@@ -105,7 +101,7 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_twoSchema_error(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile -s $schemaFile $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile -s $schemaFile $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
@@ -120,7 +116,7 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_verbose(): Unit = {
- val generateCmd = s"$daffodil -v generate c -s $schemaFile $outputDir"
+ val generateCmd = s"$daffodil -v generate c -s $schemaFile $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
@@ -134,11 +130,11 @@ class TestCLIGenerateC {
shell.close()
}
- assert(os.exists(outputDir/"c"/"libruntime"/"generated_code.c"))
+ assert(os.exists(tempDir/"c"/"libruntime"/"generated_code.c"))
}
@Test def test_CLI_Generate_root(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile -r {http://example.com}ex_nums $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile -r {http://example.com}ex_nums $tempDir"
val exitCmd = "exit"
val shell = Util.start("")
@@ -150,11 +146,11 @@ class TestCLIGenerateC {
shell.close()
}
- assert(os.exists(outputDir/"c"/"libruntime"/"generated_code.c"))
+ assert(os.exists(tempDir/"c"/"libruntime"/"generated_code.c"))
}
@Test def test_CLI_Generate_root_error(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile -r {ex}ex_nums $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile -r {ex}ex_nums $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
@@ -170,13 +166,13 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_namespaceNoRoot_error(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile -r {http://example.com} $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile -r {http://example.com} $tempDir"
val exitCmd = "exit"
val shell = Util.start("", expectErr = true)
try {
shell.sendLine(generateCmd)
- shell.expect(contains("'{http://example.com}' - wrong arguments format"))
+ shell.expect(contains("Invalid syntax for extended QName"))
shell.sendLine(exitCmd)
shell.expect(eof())
} finally {
@@ -185,7 +181,7 @@ class TestCLIGenerateC {
}
@Test def test_CLI_Generate_tunable(): Unit = {
- val generateCmd = s"$daffodil generate c -s $schemaFile -T parseUnparsePolicy=parseOnly $outputDir"
+ val generateCmd = s"$daffodil generate c -s $schemaFile -T parseUnparsePolicy=parseOnly $tempDir"
val exitCmd = "exit"
val shell = Util.start("")
@@ -197,6 +193,6 @@ class TestCLIGenerateC {
shell.close()
}
- assert(os.exists(outputDir/"c"/"libruntime"/"generated_code.c"))
+ assert(os.exists(tempDir/"c"/"libruntime"/"generated_code.c"))
}
}
diff --git a/daffodil-cli/src/main/scala/org/apache/daffodil/Main.scala b/daffodil-cli/src/main/scala/org/apache/daffodil/Main.scala
index 3891195..a1573e0 100644
--- a/daffodil-cli/src/main/scala/org/apache/daffodil/Main.scala
+++ b/daffodil-cli/src/main/scala/org/apache/daffodil/Main.scala
@@ -533,6 +533,7 @@ class CLIConf(arguments: Array[String]) extends scallop.ScallopConf(arguments)
validateFileIsFile(config) // --config must be a file that exists
}
addSubcommand(c)
+ requireSubcommand()
}
addSubcommand(parse)
diff --git a/daffodil-runtime2/src/test/scala/org/apache/daffodil/runtime2/TestCodeGenerator.scala b/daffodil-runtime2/src/test/scala/org/apache/daffodil/runtime2/TestCodeGenerator.scala
index 3069efa..85af8c5 100644
--- a/daffodil-runtime2/src/test/scala/org/apache/daffodil/runtime2/TestCodeGenerator.scala
+++ b/daffodil-runtime2/src/test/scala/org/apache/daffodil/runtime2/TestCodeGenerator.scala
@@ -27,7 +27,6 @@ import org.apache.daffodil.util.SchemaUtils
import org.apache.daffodil.util.TestUtils
import org.junit.After
import org.junit.Assert.assertArrayEquals
-import org.junit.Before
import org.junit.Test
/**
@@ -39,12 +38,8 @@ import org.junit.Test
* as you could want.
*/
class TestCodeGenerator {
- // Ensure all tests remove tempDir after using it
- var tempDir: os.Path = _
-
- @Before def before(): Unit = {
- tempDir = os.temp.dir()
- }
+ // Ensure all tests remove tempDir after creating it
+ val tempDir: os.Path = os.temp.dir()
@After def after(): Unit = {
os.remove.all(tempDir)