Skip to content

Commit 2b85f8a

Browse files
committed
Reset the number of run test cases when test_runner_setup is called
1 parent b8d9e91 commit 2b85f8a

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

vunit/vhdl/run/src/run.vhd

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ package body run_pkg is
8787
end if;
8888
end loop;
8989
end if;
90+
set_num_of_run_test_cases(runner_state, 0);
91+
9092
exit_gate(runner);
9193
set_phase(runner_state, test_suite_setup);
9294
notify(runner);
@@ -234,7 +236,7 @@ package body run_pkg is
234236
if get_test_suite_completed(runner_state) then
235237
set_running_test_case(runner_state, "");
236238
return false;
237-
elsif get_run_all(runner_state) then
239+
elsif get_run_all(runner_state) or get_test_case_name(runner_state, get_active_test_case_index(runner_state)) = name then
238240
if not has_run(name) then
239241
register_run(name);
240242
info(runner_trace_logger, "Test case: " & name);
@@ -243,14 +245,10 @@ package body run_pkg is
243245
end if;
244246
set_running_test_case(runner_state, name);
245247
return true;
248+
elsif get_test_case_name(runner_state, get_active_test_case_index(runner_state)) = name then
249+
-- error(runner_trace_logger, "Test case: " & name & " cannot be run more than once unless re-initialization");
250+
return false;
246251
end if;
247-
elsif get_test_case_name(runner_state, get_active_test_case_index(runner_state)) = name then
248-
info(runner_trace_logger, "Test case: " & name);
249-
if has_active_python_runner(runner_state) then
250-
core_pkg.test_start(name);
251-
end if;
252-
set_running_test_case(runner_state, name);
253-
return true;
254252
end if;
255253

256254
set_running_test_case(runner_state, "");

vunit/vhdl/run/src/runner_pkg.vhd

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ package runner_pkg is
8484

8585
procedure inc_num_of_run_test_cases(runner : runner_t);
8686

87+
procedure set_num_of_run_test_cases(runner : runner_t; new_value : integer);
88+
8789
procedure set_has_run_since_last_loop_check(runner : runner_t);
8890

8991
procedure clear_has_run_since_last_loop_check(runner : runner_t);
@@ -425,6 +427,11 @@ package body runner_pkg is
425427
set(runner.p_data, n_run_test_cases_idx, get_num_of_run_test_cases(runner) + 1);
426428
end;
427429

430+
procedure set_num_of_run_test_cases(runner : runner_t; new_value : integer) is
431+
begin
432+
set(runner.p_data, n_run_test_cases_idx, new_value);
433+
end;
434+
428435
procedure set_has_run_since_last_loop_check(runner : runner_t) is
429436
begin
430437
set(runner.p_data, has_run_since_last_loop_check_idx, to_integer(true));

0 commit comments

Comments
 (0)