Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions scripts/check_closure_dossier.py
Original file line number Diff line number Diff line change
Expand Up @@ -487,8 +487,15 @@ def render_template(snapshot: dict[str, Any], lane: str) -> str:
("open-prs", str(len(snapshot["open_prs"]))),
("comments-reviewed", str(n_comments)),
)
lines = [START, *(f"{key}: {value}" for key, value in fields)]
lines.append(" - REPLACE_WITH <crit猫re du body> -> <PR#/commit/fichier:ligne>")
lines = [START]
for key, value in fields:
lines.append(f"{key}: {value}".rstrip())
if key == "acceptance":
# Les items vivent SOUS `acceptance:` : poses apres
# `comments-reviewed`, ils sont lus comme lignes malformees et le
# dossier rempli tel quel est refuse (mesure sur #18480).
lines.append(
" - REPLACE_WITH <crit猫re du body> -> <PR#/commit/fichier:ligne>")
lines.append(END)
return "\n".join(lines)

Expand Down
18 changes: 18 additions & 0 deletions scripts/tests/test_check_closure_dossier.py
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,24 @@ def test_template_rend_les_champs_mecaniques():
assert "REPLACE_WITH_CLOSE_OR_KEEP" in out


def test_template_rempli_tel_quel_se_parse():
"""Remplir chaque REPLACE_WITH sur place doit donner un dossier valide :
l'item d'acceptation est rendu sous `acceptance:`, pas apres
`comments-reviewed` (#18480 : le gabarit rempli sur place etait refuse)."""
snap = _snapshot(comments=[_comment("x")])
out = render_template(snap, "myia-po-2026:CoursIA-3")
filled = (out
.replace("REPLACE_WITH_CLOSE_OR_KEEP", "CLOSE")
.replace("REPLACE_WITH_none_OR_followup_#M_OR_waiver:_<motif dat茅>",
"none")
.replace("REPLACE_WITH <crit猫re du body> -> <PR#/commit/fichier:ligne>",
"critere du body -> #17901"))
assert "REPLACE" not in filled
dossier, errors = parse_dossier(filled, 0, "jsboige")
assert errors == []
assert dossier.fields["verdict"] == "CLOSE"


def test_main_rc_close_0_keep_3_refuse_1_inconnu_2(monkeypatch, capsys):
close_snap = _snapshot(comments=[_comment(_dossier_body())])
keep_snap = _snapshot(comments=[
Expand Down
Loading