From 79fb1b77b8c9993fb36c250daf36970807f767c9 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 16:22:34 -0300 Subject: The 9P monkey does not count a file watch's reload notice as a failed write's msg Seed 144 flagged a refused addr write because a stamped `reloaded ` from the file watch arrived in the same window. The watch said the host had written a clean pane's file, which is the host's news, not the write's. The one-failure rule already left out the watch's deleted-on-disk and changed-on-disk notices; it now leaves out the `reloaded` ones too, for files and themes. Seed 144 reruns clean at 4000 steps. Co-Authored-By: Claude Opus 5.5 --- test/monkey9p.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/monkey9p.py b/test/monkey9p.py index 87e386b3..89751145 100644 --- a/test/monkey9p.py +++ b/test/monkey9p.py @@ -1520,8 +1520,9 @@ def one_failure_rule(ctx, res): # (a Save) says so while a later one is refused. succeeded = [w for w in writes if w[2] is True and w[0] == 'write'] # A file watch's notice (` deleted on disk ...`, `changed on - # disk`) is the host's news, said whenever it arrives: no write's. - msgs = [m for m in msgs if ' deleted on disk (' not in m and ' changed on disk (' not in m] + # disk`, a stamped `reloaded ` or `reloaded theme`) is the host's + # news, said whenever it arrives: no write's. + msgs = [m for m in msgs if ' deleted on disk (' not in m and ' changed on disk (' not in m and ' reloaded ' not in m] if failed and msgs and not succeeded: return f'a failed write also logged msg: {msgs}; failed={[(w[1], w[3]) for w in failed]}' return None -- cgit v1.3