@@ -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