test(terminal): C20 approval_deny-rpc carries a non-strict xfail for the settle race

An approval.respond RPC can end the wait before the gateway attaches the hook
that withdraws the sent request, so it stays in open_requests. Red in 1 of 4
loaded union runs, deterministic with the gap widened, green with #120374.
A race cannot be strict; drop the mark when #120374 lands.
This commit is contained in:
teknium1
2026-09-23 08:25:03 -07:00
committed by Teknium
parent 056c731822
commit 4d3570d284

View File

@@ -208,7 +208,16 @@ CASES = [
]
@pytest.mark.parametrize(("kind", "how"), CASES, ids=[f"{k}-{h}" for k, h in CASES])
# A race, so it cannot be strict: the RPC answer can end the approval wait before the gateway attaches the
# hook that withdraws the sent request, which then stays in ``open_requests`` (red in about 1 in 4 loaded runs;
# deterministic with the gap widened). Drop the mark when #120374 lands.
_RACY = {("approval_deny", "rpc"): pytest.mark.xfail(
strict=False, raises=AssertionError,
reason="#120374: an approval answered by RPC before the settle hook attaches stays in open_requests")}
@pytest.mark.parametrize(("kind", "how"), [pytest.param(k, h, id=f"{k}-{h}", marks=_RACY.get((k, h), ()))
for k, h in CASES])
def test_interactive_roundtrip(backend: Backend, script: Script, kind: str, how: str) -> None:
tag = f"{kind}_{how}".lower()
try: