3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-04-07 14:45:18 +00:00
sby/tests/keepgoing_smtc.check.py
Jannis Harder 2d3d96478a Tests for --keep-going
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.
2022-03-30 11:26:58 +02:00

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)