This commit is contained in:
Jordan Carlin 2025-02-15 17:49:48 -08:00
parent 87ae668442
commit 58dac3ba89
No known key found for this signature in database
2 changed files with 6 additions and 10 deletions

View file

@ -20,7 +20,6 @@ select = [
"Q003", # Avoidable escaped quotes
"Q004", # Unnecessary esacpe character
"RUF", # Ruff specific rules
]
ignore = [
@ -31,5 +30,6 @@ ignore = [
"W291", # trailing whitespace
"W293", # blank line contains whitespace
"B007", # loop control variable not used
"B9", # overly opinionated rules
"RUF005", # iterable unpacking in list
]

View file

@ -256,13 +256,13 @@ testfloatdivconfigs = [
"f_div_2_1_rv32gc", "f_div_2_1_rv64gc", "f_div_2_2_rv32gc",
"f_div_2_2_rv64gc", "f_div_2_4_rv32gc", "f_div_2_4_rv64gc",
"f_div_4_1_rv32gc", "f_div_4_1_rv64gc", "f_div_4_2_rv32gc",
"f_div_4_2_rv64gc", "f_div_4_4_rv32gc", "f_div_4_4_rv64gc"
"f_div_4_2_rv64gc", "f_div_4_4_rv32gc", "f_div_4_4_rv64gc",
]
# list of tests not supported by ImperasDV yet that should be waived during lockstep testing
lockstepwaivers = [
"WALLY-q-01.S_ref.elf", # Q extension is not supported by ImperasDV
"WALLY-cbom-01.S_ref.elf" #, # cbom extension is not supported by ImperasDV because there is no cache model in ImperasDV
"WALLY-cbom-01.S_ref.elf", #, # cbom extension is not supported by ImperasDV because there is no cache model in ImperasDV
]
##################################
@ -334,10 +334,7 @@ def addTestsByDir(testDir, config, sim, coverStr, configs, lockstepMode=0, breke
if file.endswith(fileEnd) and file.startswith(fileStart):
fullfile = os.path.join(dirpath, file)
fields = fullfile.rsplit('/', 3)
if fields[2] == "ref":
shortelf = f"{fields[1]}_{fields[3]}"
else:
shortelf = f"{fields[2]}_{fields[3]}"
shortelf = f"{fields[1]}_{fields[3]}" if fields[2] == "ref" else f"{fields[2]}_{fields[3]}"
if shortelf in lockstepwaivers: # skip tests that itch bugs in ImperasDV
print(f"{bcolors.WARNING}Skipping waived test {shortelf}{bcolors.ENDC}")
continue
@ -466,10 +463,9 @@ def selectTests(args, sims, coverStr):
if (args.testfloat or args.nightly): # for nightly, run testfloat along with others
testfloatconfigs = ["fdqh_rv64gc", "fdq_rv64gc", "fdh_rv64gc", "fd_rv64gc", "fh_rv64gc", "f_rv64gc", "fdqh_rv32gc", "f_rv32gc"]
for config in testfloatconfigs + testfloatdivconfigs:
tests = ["div", "sqrt", "cvtint", "cvtfp"]
if config in testfloatconfigs:
tests = ["div", "sqrt", "add", "sub", "mul", "cvtint", "cvtfp", "fma", "cmp"]
else:
tests = ["div", "sqrt", "cvtint", "cvtfp"]
tests.extend(["add", "sub", "mul", "fma", "cmp"])
if "f_" in config:
tests.remove("cvtfp")
for test in tests: