Skip to content

Commit 85484fc

Browse files
committed
Update ParserSpec.scala
switch test with multiple init blocks to fail
1 parent ad6a73b commit 85484fc

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

src/test/scala/ParserSpec.scala

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -436,26 +436,34 @@ class ParserSpec extends AnyFlatSpec {
436436
val instantiatedModules = UclidMain.instantiateModules(UclidMain.Config(), fileModules, lang.Identifier("main"))
437437
assert (instantiatedModules.size == 1)
438438
}
439-
"test-concat-modules-w-init-1.ucl" should "parse successfully" in {
440-
val fileModules = UclidMain.compile(ConfigCons.createConfig("test/test-concat-modules-w-init-1.ucl"), lang.Identifier("main"))
441-
val instantiatedModules = UclidMain.instantiateModules(UclidMain.Config(), fileModules, lang.Identifier("main"))
442-
assert (instantiatedModules.size == 1)
439+
// multiple inits not allowed
440+
"test-concat-modules-w-init-1.ucl" should "not parse successfully" in {
441+
try {
442+
val fileModules = UclidMain.compile(ConfigCons.createConfig("test/test-concat-modules-w-init-1.ucl"), lang.Identifier("main"))
443+
// should never get here.
444+
assert (false);
445+
}
446+
catch {
447+
// this list has all the errors from parsing
448+
case p : Utils.ParserErrorList =>
449+
assert (p.errors.size == 1)
450+
assert (p.errors.exists(p => p._1.contains("Module has multiple init blocks.")))
451+
}
443452
}
444-
"test-concat-modules-w-init-2-fab.ucl" should "parse successfully" in {
445-
val fileModules = UclidMain.compile(UclidMain.Config(files=List(
453+
"test-concat-modules-w-init-2-fab.ucl" should "not parse successfully" in {
454+
try{
455+
val fileModules = UclidMain.compile(UclidMain.Config(files=List(
446456
new File("test/test-concat-modules-w-init-2-fa.ucl"), new File("test/test-concat-modules-w-init-2-fb.ucl"))
447457
), lang.Identifier("main"))
448-
assert (fileModules.size == 2)
449-
val instantiatedModules = UclidMain.instantiateModules(UclidMain.Config(), fileModules, lang.Identifier("main"))
450-
assert (instantiatedModules.size == 1)
451-
}
452-
"test-concat-modules-w-init-2-fba.ucl" should "parse successfully" in {
453-
val fileModules = UclidMain.compile(UclidMain.Config(files=List(
454-
new File("test/test-concat-modules-w-init-2-fb.ucl"), new File("test/test-concat-modules-w-init-2-fa.ucl"))
455-
), lang.Identifier("main"))
456-
assert (fileModules.size == 2)
457-
val instantiatedModules = UclidMain.instantiateModules(UclidMain.Config(), fileModules, lang.Identifier("main"))
458-
assert (instantiatedModules.size == 1)
458+
// should never get here.
459+
assert (false);
460+
}
461+
catch {
462+
// this list has all the errors from parsing
463+
case p : Utils.ParserErrorList =>
464+
assert (p.errors.size == 1)
465+
assert (p.errors.exists(p => p._1.contains("Module has multiple init blocks")))
466+
}
459467
}
460468
"test-mod-set-analysis-0.ucl" should "parse successfully." in {
461469
val fileModules = UclidMain.compile(ConfigCons.createConfigWithMSA("test/test-mod-set-analysis-0.ucl"), lang.Identifier("main"))

0 commit comments

Comments
 (0)