[dvsim/lint/syn] Properly set the errors_seen value to return nonzero status
Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/util/dvsim/LintCfg.py b/util/dvsim/LintCfg.py
index 00471ce..6cb895c 100644
--- a/util/dvsim/LintCfg.py
+++ b/util/dvsim/LintCfg.py
@@ -184,13 +184,16 @@
("Lint Warnings", "lint_warnings"),
("Lint Errors", "lint_errors")]
- has_msg = False
+
+ # Lint fails if any warning or error message has occurred
+ self.errors_seen = False
for _, key in hdr_key_pairs:
if key in self.result:
- has_msg = True
- break
+ if self.result.get(key):
+ self.errors_seen = True
+ break
- if has_msg:
+ if self.errors_seen:
fail_msgs += "\n### Errors and Warnings for Build Mode `'" + mode.name + "'`\n"
for hdr, key in hdr_key_pairs:
msgs = self.result.get(key)
diff --git a/util/dvsim/SynCfg.py b/util/dvsim/SynCfg.py
index 4deae7e..4a6991c 100644
--- a/util/dvsim/SynCfg.py
+++ b/util/dvsim/SynCfg.py
@@ -358,14 +358,17 @@
("Elab Errors", "elab_errors"),
("Compile Warnings", "compile_warnings"),
("Compile Errors", "compile_errors")]
+
+ # Synthesis fails if any warning or error message has occurred
+ self.errors_seen = False
fail_msgs = ""
- has_msg = False
for _, key in hdr_key_pairs:
if key in self.result['messages']:
- has_msg = True
- break
+ if self.result.get(key):
+ self.errors_seen = True
+ break
- if has_msg:
+ if self.errors_seen:
fail_msgs += "\n### Errors and Warnings for Build Mode `'" + mode.name + "'`\n"
for hdr, key in hdr_key_pairs:
msgs = self.result['messages'].get(key)