Merge pull request #1271 from davidharrishmc/dev

Fix regression with functional coverage split into multiple files.
This commit is contained in:
Jordan Carlin 2025-02-09 15:51:41 -08:00 committed by GitHub
commit f01cfc5782
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 3 deletions

View File

@ -8,7 +8,7 @@ SIM = ${WALLY}/sim
.PHONY: all riscof testfloat combined_IF_vectors zsbl benchmarks coremark embench coverage cvw-arch-verif clean .PHONY: all riscof testfloat combined_IF_vectors zsbl benchmarks coremark embench coverage cvw-arch-verif clean
all: riscof testfloat combined_IF_vectors zsbl coverage cvw-arch-verif # benchmarks all: riscof testfloat combined_IF_vectors zsbl coverage # cvw-arch-verif benchmarks
# riscof builds the riscv-arch-test and wally-riscv-arch-test suites # riscof builds the riscv-arch-test and wally-riscv-arch-test suites
riscof: riscof:

View File

@ -318,7 +318,8 @@ def addTestsByDir(testDir, config, sim, coverStr, configs, lockstepMode=0, breke
sim_logdir = f"{regressionDir}/{sim}/logs/" sim_logdir = f"{regressionDir}/{sim}/logs/"
cmdPrefix = f"wsim --sim {sim} {coverStr} {'--lockstep' if lockstepMode else ''} {config}" cmdPrefix = f"wsim --sim {sim} {coverStr} {'--lockstep' if lockstepMode else ''} {config}"
# fcov/ccov only runs on WALLY-COV-ALL.elf files; other lockstep runs on all files # fcov/ccov only runs on WALLY-COV-ALL.elf files; other lockstep runs on all files
fileEnd = "ALL.elf" if "cvw-arch-verif/tests" in testDir and "priv" not in testDir and (coverStr == "--fcov" or coverStr == "--ccov") else ".elf" fileStart = "WALLY-COV-ALL" if "cvw-arch-verif/tests" in testDir and "priv" not in testDir and (coverStr == "--fcov" or coverStr == "--ccov") else ""
fileEnd = ".elf"
if lockstepMode or coverStr == "--fcov": if lockstepMode or coverStr == "--fcov":
gs = "Mismatches : 0" gs = "Mismatches : 0"
elif brekerMode: elif brekerMode:
@ -327,7 +328,7 @@ def addTestsByDir(testDir, config, sim, coverStr, configs, lockstepMode=0, breke
gs = "Single Elf file tests are not signatured verified." gs = "Single Elf file tests are not signatured verified."
for dirpath, _, filenames in os.walk(os.path.abspath(testDir)): for dirpath, _, filenames in os.walk(os.path.abspath(testDir)):
for file in filenames: for file in filenames:
if file.endswith(fileEnd): if file.endswith(fileEnd) and file.startswith(fileStart):
fullfile = os.path.join(dirpath, file) fullfile = os.path.join(dirpath, file)
fields = fullfile.rsplit('/', 3) fields = fullfile.rsplit('/', 3)
if fields[2] == "ref": if fields[2] == "ref":