3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-07-17 20:16:42 +00:00

Refactor tests

Organize tests into subdirectories and use a new makefile that scans
.sby files and allows selecting tests by mode, engine, solver and/or
subdirectory. Automatically skips tests that use engines/solvers that
are not found in the PATH.

See `cd tests; make help` for a description of supported make targets.
This commit is contained in:
Jannis Harder 2022-04-11 17:39:05 +02:00
parent 6daa434d85
commit 8da6f07cb3
60 changed files with 328 additions and 101 deletions

View file

@ -0,0 +1,17 @@
import re
def line_ref(dir, filename, pattern):
with open(dir + "/src/" + filename) as file:
if isinstance(pattern, str):
pattern_re = re.compile(re.escape(pattern))
else:
pattern_re = pattern
pattern = pattern.pattern
for number, line in enumerate(file, 1):
if pattern_re.search(line):
# Needs to match source locations for both verilog frontends
return fr"{filename}:(?:{number}|\d+.\d+-{number}.\d+)"
raise RuntimeError("%s: pattern `%s` not found" % (filename, pattern))