From 97e47c471c9461e4e8e188215aefb32227957e75 Mon Sep 17 00:00:00 2001 From: "N. Engelhardt" Date: Mon, 6 Jul 2026 18:54:23 +0200 Subject: [PATCH] fix incidental finding that return codes weren't being checked properly on witness conversion subprocesses --- sbysrc/sby_engine_aiger.py | 1 + sbysrc/sby_engine_btor.py | 1 + sbysrc/sby_sim.py | 1 + 3 files changed, 3 insertions(+) diff --git a/sbysrc/sby_engine_aiger.py b/sbysrc/sby_engine_aiger.py index b08195a..703da8e 100644 --- a/sbysrc/sby_engine_aiger.py +++ b/sbysrc/sby_engine_aiger.py @@ -192,6 +192,7 @@ def aigsmt_trace_callback(task, engine_idx, proc_status, *, run_aigsmt, smtbmc_v task, f"engine_{engine_idx}", [], f"cd {task.workdir}; {task.exe_paths['witness']} aiw2yw engine_{engine_idx}/{name}.aiw model/design_aiger.ywa engine_{engine_idx}/{name}{aiw2yw_suffix}.yw", ) + witness_proc.checkretcode = True final_proc = witness_proc if run_aigsmt: diff --git a/sbysrc/sby_engine_btor.py b/sbysrc/sby_engine_btor.py index b155763..f619bb9 100644 --- a/sbysrc/sby_engine_btor.py +++ b/sbysrc/sby_engine_btor.py @@ -223,6 +223,7 @@ def run(mode, task, engine_idx, engine): task, f"engine_{engine_idx}.trace{suffix}", [], f"cd {task.workdir}; {task.exe_paths['witness']} wit2yw engine_{engine_idx}/trace{suffix}.wit model/{model}.ywb engine_{engine_idx}/trace{suffix}.yw", ) + yw_proc.checkretcode = True common_state.running_procs += 1 yw_proc.register_exit_callback(simple_exit_callback) diff --git a/sbysrc/sby_sim.py b/sbysrc/sby_sim.py index 32789fb..2e9b471 100644 --- a/sbysrc/sby_sim.py +++ b/sbysrc/sby_sim.py @@ -99,6 +99,7 @@ def sim_witness_trace(prefix, task, engine_idx, witness_file, *, append, inducti deps, f"""cd {task.workdir}/engine_{engine_idx}; {task.exe_paths["yosys"]} -ql {trace_name}.log {trace_name}.ys""", ) + proc.checkretcode = True proc.noprintregex = re.compile(r"Warning: Assert .* failed.*") proc.register_exit_callback(exit_callback) return proc