aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorChick Markley2017-09-19 09:36:56 -0700
committerGitHub2017-09-19 09:36:56 -0700
commita4c072d5afd56cbc1d8292c865e9f8331d6e6f0f (patch)
treef2cf57a46b7e5dcddf2636f06e7073499b04c053 /src/test
parentc5627f355767d4c4f5232fee81a61b7e8510672f (diff)
Create way of collecting program arguments in Driver (#659)
Adds programArgs to commonOptions programArgs is all arguments on command line with out leading -/+ or are not bound to a flag. Create simple test
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/firrtlTests/DriverSpec.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/DriverSpec.scala b/src/test/scala/firrtlTests/DriverSpec.scala
index e3164f89..190b2b42 100644
--- a/src/test/scala/firrtlTests/DriverSpec.scala
+++ b/src/test/scala/firrtlTests/DriverSpec.scala
@@ -11,6 +11,7 @@ import firrtl.transforms.BlackBoxSourceHelper
import firrtl._
import firrtl.util.BackendCompilationUtilities
+//noinspection ScalaStyle
class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities {
"CommonOptions are some simple options available across the chisel3 ecosystem" - {
"CommonOption provide an scopt implementation of an OptionParser" - {
@@ -53,6 +54,29 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
FileUtils.deleteDirectoryHierarchy("a") should be (true)
}
}
+ "options include by default a list of strings that are returned in commonOptions.programArgs" in {
+ val optionsManager = new ExecutionOptionsManager("test")
+
+ optionsManager.parse(Array("--top-name", "dog", "fox", "tardigrade", "stomatopod")) should be (true)
+ println(s"programArgs ${optionsManager.commonOptions.programArgs}")
+ optionsManager.commonOptions.programArgs.length should be (3)
+ optionsManager.commonOptions.programArgs should be ("fox" :: "tardigrade" :: "stomatopod" :: Nil)
+
+ optionsManager.commonOptions = CommonOptions()
+ optionsManager.parse(
+ Array("dog", "stomatopod")) should be (true)
+ println(s"programArgs ${optionsManager.commonOptions.programArgs}")
+ optionsManager.commonOptions.programArgs.length should be (2)
+ optionsManager.commonOptions.programArgs should be ("dog" :: "stomatopod" :: Nil)
+
+ optionsManager.commonOptions = CommonOptions()
+ optionsManager.parse(
+ Array("fox", "--top-name", "dog", "tardigrade", "stomatopod")) should be (true)
+ println(s"programArgs ${optionsManager.commonOptions.programArgs}")
+ optionsManager.commonOptions.programArgs.length should be (3)
+ optionsManager.commonOptions.programArgs should be ("fox" :: "tardigrade" :: "stomatopod" :: Nil)
+
+ }
}
"FirrtlOptions holds option information for the firrtl compiler" - {
"It includes a CommonOptions" in {