mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-06 22:34:07 +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.
18 lines
595 B
Python
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))
|