← Về thư mục
scripts/test_eval_harness_workflow.py
- _NoDuplicateKeyLoader · class · L21-L22 — class _NoDuplicateKeyLoader(yaml.SafeLoader)
- _no_dup_construct_mapping · function · L25-L34 — def _no_dup_construct_mapping(loader, node, deep=False)
- raw · function · L43-L44 — def raw() -> str
- workflow · function · L48-L50 — def workflow(raw): # Strict load: any duplicate key anywhere in the file fails here.
- _steps · function · L53-L54 — def _steps(workflow)
- test_strict_loads_without_duplicate_keys · function · L57-L59 — def test_strict_loads_without_duplicate_keys(workflow)
- test_concurrency_group_includes_event_name · function · L62-L65 — def test_concurrency_group_includes_event_name(workflow)
- test_each_step_has_at_most_one_run_block · function · L68-L74 — def test_each_step_has_at_most_one_run_block(raw): # A step mapping with two
run: keys would be silently merged by a lax # loader; the strict loader already rejects that, but assert run-block count # never exceeds the step count as a second guard.
- test_no_dead_code_after_exit · function · L77-L93 — def test_no_dead_code_after_exit(raw): # No
exit 0/exit 1 immediately followed (next non-blank line) by an echo # in the same run block — dead code the old gate carried.
- test_rq_framing_runner_in_path_filter · function · L96-L100 — def test_rq_framing_runner_in_path_filter(raw): # The harness dispatches to scripts/check_rq_framing_patterns.py, so a change # there must re-trigger the workflow. Must appear in BOTH pull_request and # push path lists.
- test_final_gate_enforces_threshold_and_ack · function · L103-L113 — def test_final_gate_enforces_threshold_and_ack(workflow)
- test_harness_step_computes_failed_tasks · function · L116-L124 — def test_harness_step_computes_failed_tasks(workflow)
- test_comment_built_by_renderer_module · function · L127-L134 — def test_comment_built_by_renderer_module(workflow)
- test_workflow_has_no_inline_python_heredoc · function · L137-L140 — def test_workflow_has_no_inline_python_heredoc(raw): # Fix 1 moved the gate logic into a module; no fragile inline python heredoc # should remain in the workflow.