call job.terminate at end of btor engine run to kill other engines in case of whoever...
authorN. Engelhardt <nak@symbioticeda.com>
Wed, 13 May 2020 10:42:30 +0000 (12:42 +0200)
committerN. Engelhardt <nak@symbioticeda.com>
Wed, 13 May 2020 10:42:30 +0000 (12:42 +0200)
sbysrc/sby_engine_btor.py

index 15bd5a17599deaa275e705f4b63432ab11550d70..d306230a7af8cb760441e1abcff98725e100058a 100644 (file)
@@ -53,7 +53,7 @@ def run(mode, job, engine_idx, engine):
             if common_state.assert_fail:
                 task_status = "FAIL"
             elif common_state.solver_status == "sat":
-                task_status = "PASS"
+                task_status = "pass"
             elif common_state.solver_status == "unsat":
                 task_status = "FAIL"
             else:
@@ -62,11 +62,11 @@ def run(mode, job, engine_idx, engine):
             if common_state.solver_status == "sat":
                 task_status = "FAIL"
             elif common_state.solver_status == "unsat":
-                task_status = "PASS"
+                task_status = "pass"
             else:
                 job.error("engine_{}: Engine terminated without status.".format(engine_idx))
 
-        job.update_status(task_status)
+        job.update_status(task_status.upper())
         job.log("engine_{}: Status returned by engine: {}".format(engine_idx, task_status))
         job.summary.append("engine_{} ({}) returned {}".format(engine_idx, " ".join(engine), task_status))
 
@@ -80,6 +80,8 @@ def run(mode, job, engine_idx, engine):
             excess_traces = len(common_state.produced_traces) - common_state.print_traces_max
             job.summary.append("and {} further trace{}".format(excess_traces, "s" if excess_traces > 1 else {}))
 
+        job.terminate()
+
     if mode == "cover":
         def output_callback2(line):
             match = re.search(r"Assert failed in test", line)