3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-04-13 16:48:44 +00:00
sby/tests/keepgoing/check_output.py
Jannis Harder 8da6f07cb3 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.
2022-04-11 17:50:38 +02:00

18 lines
595 B
Python

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))