mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-12 16:28:17 +00:00
Add support for "wait" option
This commit is contained in:
parent
24e19e3cda
commit
01a03d0e07
|
@ -66,7 +66,9 @@ class SbyTask:
|
||||||
if self.exit_callback is not None:
|
if self.exit_callback is not None:
|
||||||
self.exit_callback(retcode)
|
self.exit_callback(retcode)
|
||||||
|
|
||||||
def terminate(self):
|
def terminate(self, timeout=False):
|
||||||
|
if self.job.waitmode and not timeout:
|
||||||
|
return
|
||||||
if self.running:
|
if self.running:
|
||||||
self.job.log("%s: terminating process" % self.info)
|
self.job.log("%s: terminating process" % self.info)
|
||||||
self.p.terminate()
|
self.p.terminate()
|
||||||
|
@ -241,7 +243,7 @@ class SbyJob:
|
||||||
if total_clock_time > int(self.options["timeout"]):
|
if total_clock_time > int(self.options["timeout"]):
|
||||||
self.log("Reached TIMEOUT (%d seconds). Terminating all tasks." % int(self.options["timeout"]))
|
self.log("Reached TIMEOUT (%d seconds). Terminating all tasks." % int(self.options["timeout"]))
|
||||||
self.status = "TIMEOUT"
|
self.status = "TIMEOUT"
|
||||||
self.terminate()
|
self.terminate(timeout=True)
|
||||||
|
|
||||||
def log(self, logmessage):
|
def log(self, logmessage):
|
||||||
print("%s %s" % (self.logprefix, logmessage))
|
print("%s %s" % (self.logprefix, logmessage))
|
||||||
|
@ -332,9 +334,9 @@ class SbyJob:
|
||||||
self.models[model_name] = self.make_model(model_name)
|
self.models[model_name] = self.make_model(model_name)
|
||||||
return self.models[model_name]
|
return self.models[model_name]
|
||||||
|
|
||||||
def terminate(self):
|
def terminate(self, timeout=False):
|
||||||
for task in self.tasks_running:
|
for task in self.tasks_running:
|
||||||
task.terminate()
|
task.terminate(timeout=timeout)
|
||||||
|
|
||||||
def update_status(self, new_status):
|
def update_status(self, new_status):
|
||||||
assert new_status in ["PASS", "FAIL", "UNKNOWN", "ERROR"]
|
assert new_status in ["PASS", "FAIL", "UNKNOWN", "ERROR"]
|
||||||
|
@ -365,6 +367,10 @@ class SbyJob:
|
||||||
if "expect" in self.options:
|
if "expect" in self.options:
|
||||||
self.expect = self.options["expect"].upper().split(",")
|
self.expect = self.options["expect"].upper().split(",")
|
||||||
|
|
||||||
|
self.waitmode = False
|
||||||
|
if "wait" in self.options:
|
||||||
|
self.waitmode = self.options["wait"] == "on"
|
||||||
|
|
||||||
self.copy_src()
|
self.copy_src()
|
||||||
|
|
||||||
if self.options["mode"] == "bmc":
|
if self.options["mode"] == "bmc":
|
||||||
|
|
Loading…
Reference in a new issue