mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-07 14:45:18 +00:00
This also changes the test Makefile to run `.check.py` files after running the corresponding `.sby` file to allow more precise testing of the keep going feature.
25 lines
1 KiB
Python
25 lines
1 KiB
Python
from check_output import *
|
|
|
|
task = "keepgoing_smtc"
|
|
src = "keepgoing_same_step.sv"
|
|
|
|
assert_a = line_ref(task, src, "assert(a)")
|
|
assert_not_a = line_ref(task, src, "assert(!a)")
|
|
assert_0 = line_ref(task, src, "assert(0)")
|
|
|
|
assert_false = line_ref(task, "extra.smtc", "assert false")
|
|
assert_distinct = line_ref(task, "extra.smtc", "assert (distinct")
|
|
|
|
log = open(task + "/logfile.txt").read()
|
|
log_per_trace = log.split("Writing trace to VCD file")[:-1]
|
|
|
|
assert len(log_per_trace) == 4
|
|
|
|
assert re.search(r"Assert failed in test: %s \(.*\)$" % assert_a, log, re.M)
|
|
assert re.search(r"Assert failed in test: %s \(.*\)$" % assert_not_a, log, re.M)
|
|
|
|
assert re.search(r"Assert src/%s failed: false" % assert_false, log_per_trace[0], re.M)
|
|
assert re.search(r"Assert failed in test: %s \(.*\)$" % assert_0, log_per_trace[1], re.M)
|
|
assert re.search(r"Assert failed in test: %s \(.*\) \[failed before\]$" % assert_0, log_per_trace[2], re.M)
|
|
assert re.search(r"Assert src/%s failed: \(distinct" % assert_distinct, log_per_trace[3], re.M)
|