Convert memlib tests

This commit is contained in:
nella 2026-03-20 16:00:40 +01:00 committed by Miodrag Milanovic
parent 1effec2029
commit 4a9dc33098
4 changed files with 62 additions and 66 deletions

View File

@ -60,7 +60,7 @@ MK_TEST_DIRS += ./asicworld
MK_TEST_DIRS += ./share MK_TEST_DIRS += ./share
MK_TEST_DIRS += ./opt_share MK_TEST_DIRS += ./opt_share
MK_TEST_DIRS += ./fsm MK_TEST_DIRS += ./fsm
#SH_TEST_DIRS += ./memlib MK_TEST_DIRS += ./memlib
#SH_TEST_DIRS += ./bram #SH_TEST_DIRS += ./bram
#SH_TEST_DIRS += ./svinterfaces #SH_TEST_DIRS += ./svinterfaces
MK_TEST_DIRS += ./xprop MK_TEST_DIRS += ./xprop

View File

@ -1536,17 +1536,6 @@ endmodule
TESTS.append(Test("rom_case", ROM_CASE.format(attr=""), ["block_sdp"], [], {"RAM_BLOCK_SDP" : 0})) TESTS.append(Test("rom_case", ROM_CASE.format(attr=""), ["block_sdp"], [], {"RAM_BLOCK_SDP" : 0}))
TESTS.append(Test("rom_case_block", ROM_CASE.format(attr="(* rom_style = \"block\" *) "), ["block_sdp"], [], {"RAM_BLOCK_SDP" : 1})) TESTS.append(Test("rom_case_block", ROM_CASE.format(attr="(* rom_style = \"block\" *) "), ["block_sdp"], [], {"RAM_BLOCK_SDP" : 1}))
with open("run-test.mk", "w") as mf:
mf.write("ifneq ($(strip $(SEED)),)\n")
mf.write("SEEDOPT=-S$(SEED)\n")
mf.write("endif\n")
mf.write("all:")
for t in TESTS:
mf.write(" " + t.name)
mf.write("\n")
mf.write(".PHONY: all\n")
for t in TESTS: for t in TESTS:
with open("t_{}.v".format(t.name), "w") as tf: with open("t_{}.v".format(t.name), "w") as tf:
tf.write(t.src) tf.write(t.src)
@ -1571,9 +1560,4 @@ with open("run-test.mk", "w") as mf:
sf.write("select -assert-count {} t:{} r:{}={} %i\n".format(cc, k, kk, vv)) sf.write("select -assert-count {} t:{} r:{}={} %i\n".format(cc, k, kk, vv))
else: else:
sf.write("select -assert-count {} t:{}\n".format(v, k)) sf.write("select -assert-count {} t:{}\n".format(v, k))
mf.write("{}:\n".format(t.name))
mf.write("\t@../tools/autotest.sh -G -j $(SEEDOPT) $(EXTRA_FLAGS) -p 'script ../t_{}.ys'".format(t.name))
for lib in t.libs:
mf.write(" -l memlib_{}.v".format(lib))
mf.write(" t_{}.v || (cat t_{}.err; exit 1)\n".format(t.name, t.name))
mf.write(".PHONY: {}\n".format(t.name))

View File

@ -0,0 +1,28 @@
#!/usr/bin/env python3
import sys
sys.path.append("..")
import gen_tests_makefile
from generate import TESTS
def create_tests():
for t in TESTS:
libs_args = ""
for lib in t.libs:
libs_args += f" -l memlib_{lib}.v"
cmd = (
f"../tools/autotest.sh -G -j ${{SEEDOPT}} ${{EXTRA_FLAGS}} "
f"-p 'script ../t_{t.name}.ys'"
f"{libs_args} "
f"t_{t.name}.v >/dev/null 2>&1 || (cat t_{t.name}.err; exit 1)"
)
gen_tests_makefile.generate_target(t.name, cmd)
extra = [
"SEED ?=",
"ifneq ($(strip $(SEED)),)",
" SEEDOPT=-S$(SEED)",
"endif",
]
gen_tests_makefile.generate_custom(create_tests, extra)

View File

@ -1,16 +0,0 @@
#!/usr/bin/env bash
source ../common-env.sh
set -eu
OPTIND=1
seed="" # default to no seed specified
while getopts "S:" opt
do
case "$opt" in
S) seed="$OPTARG" ;;
esac
done
shift "$((OPTIND-1))"
python3 generate.py
exec ${MAKE:-make} -f run-test.mk SEED="$seed"