[dv] Don't kill regression on sim error

When the simulator terminates with an error code that is reported as a
test failure and the regression continues. A new check for a plain
'Error' message is required to catch simulator reported errors that
don't become a UVM_FATAL or UVM_ERROR message (e.g. hitting an illegal
coverage bin). Previously any such simulation error would kill the whole
regression.
This commit is contained in:
Greg Chadwick 2021-04-07 16:07:49 +01:00
parent a88f5eb912
commit 25cd6600c6
2 changed files with 5 additions and 3 deletions

View file

@ -205,7 +205,7 @@ def check_ibex_uvm_log(uvm_log):
test_result_seen = False
for line in log:
if ('UVM_ERROR' in line or 'UVM_FATAL' in line) \
if ('UVM_ERROR' in line or 'UVM_FATAL' in line or 'Error' in line) \
and not test_result_seen:
log_out.append(line)
failed = True

View file

@ -367,7 +367,8 @@ def run_sim_commands(command_list, use_lsf):
for desc, cmd, dirname in command_list:
os.makedirs(dirname, exist_ok=True)
cmds.append(cmd)
run_parallel_cmd(cmds, 600, check_return_code=True)
run_parallel_cmd(cmds, timeout_s=600, exit_on_error=0,
check_return_code=True)
return
# We're not in LSF mode, so we'll create the output directories as we go.
@ -376,7 +377,8 @@ def run_sim_commands(command_list, use_lsf):
for desc, cmd, dirname in command_list:
os.makedirs(dirname, exist_ok=True)
logging.info("Running " + desc)
run_cmd(cmd, 600, check_return_code=True)
run_cmd(cmd, timeout_s=600, exit_on_error=0,
check_return_code=True)
def rtl_sim(sim_cmd, test_list, seed_gen, opts,