diff options
| author | Chick Markley | 2017-09-19 09:36:56 -0700 |
|---|---|---|
| committer | GitHub | 2017-09-19 09:36:56 -0700 |
| commit | a4c072d5afd56cbc1d8292c865e9f8331d6e6f0f (patch) | |
| tree | f2cf57a46b7e5dcddf2636f06e7073499b04c053 /src/test | |
| parent | c5627f355767d4c4f5232fee81a61b7e8510672f (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.scala | 24 |
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 { |
