Skip to content

Commit d86c1b0

Browse files
Fix memory creation triggering across different modules with same frid
Memory creation guard conditions compared only frid, not frid+module, causing create_conformance_test_memory to fire on the first failure of a new (module, frid) pair using stale code_diff from a previous module.
1 parent a375321 commit d86c1b0

3 files changed

Lines changed: 17 additions & 2 deletions

File tree

memory_management.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,29 @@ def create_conformance_tests_memory(
3333
):
3434

3535
current_conformance_tests_issue_frid = render_context.conformance_tests_running_context.current_testing_frid
36+
current_conformance_tests_issue_module = (
37+
render_context.conformance_tests_running_context.current_testing_module_name
38+
)
3639
old_conformance_tests_issue_frid = (
3740
render_context.conformance_tests_running_context.previous_conformance_tests_issue_frid
3841
)
42+
old_conformance_tests_issue_module = (
43+
render_context.conformance_tests_running_context.previous_conformance_tests_issue_module
44+
)
3945

4046
old_conformance_tests_issue = (
4147
render_context.conformance_tests_running_context.previous_conformance_tests_issue_old
4248
)
4349

4450
is_first_time_running_conformance_tests = (
45-
old_conformance_tests_issue_frid is None or old_conformance_tests_issue_frid == ""
51+
old_conformance_tests_issue_frid is None
52+
or old_conformance_tests_issue_frid == ""
53+
or old_conformance_tests_issue_module != current_conformance_tests_issue_module
54+
)
55+
is_same_frid_as_previous_failing_test = (
56+
current_conformance_tests_issue_frid == old_conformance_tests_issue_frid
57+
and current_conformance_tests_issue_module == old_conformance_tests_issue_module
4658
)
47-
is_same_frid_as_previous_failing_test = current_conformance_tests_issue_frid == old_conformance_tests_issue_frid
4859
is_conformance_test_failed = exit_code != CONFORMANCE_TESTS_SUCCESS_EXIT_CODE
4960

5061
should_create_memory = not is_first_time_running_conformance_tests and (

render_machine/actions/fix_conformance_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ def execute(self, render_context: RenderContext, previous_action_payload: Any |
3030
render_context.conformance_tests_running_context.previous_conformance_tests_issue_frid = (
3131
render_context.conformance_tests_running_context.current_testing_frid
3232
)
33+
render_context.conformance_tests_running_context.previous_conformance_tests_issue_module = (
34+
render_context.conformance_tests_running_context.current_testing_module_name
35+
)
3336

3437
if render_context.conformance_tests_running_context.current_testing_frid == render_context.frid_context.frid:
3538
console_message = f"Fixing conformance test for functionality {render_context.conformance_tests_running_context.current_testing_frid} in module {render_context.conformance_tests_running_context.current_testing_module_name}."

render_machine/render_types.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ def __init__(
4949
self.current_testing_frid_high_level_implementation_plan: Optional[str] = None
5050
self.previous_conformance_tests_issue_old: Optional[str] = None
5151
self.previous_conformance_tests_issue_frid: Optional[str] = None
52+
self.previous_conformance_tests_issue_module: Optional[str] = None
5253
self.code_diff_files: Optional[dict[str, str]] = None
5354

5455
def get_conformance_tests_json(self, module_name: str) -> dict:

0 commit comments

Comments
 (0)