lean4-htt/tests/lean/interactive/interactiveGoalPopups.lean.expected.out
Marc Huisinga 80b8e44072
test: fix test flakiness (#10680)
This PR fixes several causes of test flakiness and re-enables the tests
that were disabled in #10665, #10669 and #10673.

Specifically, it fixes:
- A race condition in the file worker that caused it to report an
incomplete snapshot prefix in the inlay hint request (confirmed to be
the cause of #10665)
- A bug in the test runner where it didn't correctly account for
non-deterministic message ordering inducing different RPC pointer
numbering (confirmed to be the cause of #10673)
- A race condition in the watchdog that would sometimes cause the module
hierarchy to be empty (likely the cause of #10669, but not confirmed as
this issue only reproduced again once in tens of thousands of test runs
on various machines, including CI)
- An unrelated bug in the module hierarchy implementation that would
cause it to report an empty module hierarchy when the file was changed

It also replaces some calls to `Task.get` in the language server with
`IO.wait` to protect the code against unfortunate compiler re-ordering.
2025-10-08 13:33:56 +00:00

61 lines
2 KiB
Text

{"textDocument": {"uri": "file:///interactiveGoalPopups.lean"},
"position": {"line": 14, "character": 2}}
{"goals":
[{"type":
{"tag": [{"subexprPos": "/", "info": {"p": "4"}}, {"text": "MyTrue"}]},
"mvarId": "[anonymous]",
"isRemoved": true,
"hyps":
[{"type":
{"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "MyNat"}]},
"names": ["x"],
"fvarIds": []},
{"type":
{"tag":
[{"subexprPos": "/", "info": {"p": "1"}},
{"append":
[{"text": "MyEq "},
{"tag": [{"subexprPos": "/0/1", "info": {"p": "2"}}, {"text": "x"}]},
{"text": " "},
{"tag": [{"subexprPos": "/1", "info": {"p": "3"}}, {"text": "x"}]}]}]},
"names": ["h"],
"fvarIds": []}],
"goalPrefix": "⊢ ",
"ctx": {"p": "5"}}]}
Popups for type of x:
Popup for MyNat:
{"p": "0"}
{"type": {"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "Type"}]},
"exprExplicit": {"text": "MyNat"},
"doc": "MyNat doc "}
Popups for type of h:
Popup for MyEq x x:
{"p": "1"}
{"type": {"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "Prop"}]},
"exprExplicit":
{"append":
[{"text": "@"},
{"tag": [{"subexprPos": "/0/0/0", "info": {"p": "1"}}, {"text": "MyEq"}]},
{"text": " "},
{"tag": [{"subexprPos": "/0/0/1", "info": {"p": "2"}}, {"text": "MyNat"}]},
{"text": " "},
{"tag": [{"subexprPos": "/0/1", "info": {"p": "3"}}, {"text": "x"}]},
{"text": " "},
{"tag": [{"subexprPos": "/1", "info": {"p": "4"}}, {"text": "x"}]}]},
"doc": null}
Popup for x:
{"p": "2"}
{"type": {"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "MyNat"}]},
"exprExplicit": {"text": "x"},
"doc": null}
Popup for x:
{"p": "3"}
{"type": {"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "MyNat"}]},
"exprExplicit": {"text": "x"},
"doc": null}
Popups for type of goal:
Popup for MyTrue:
{"p": "4"}
{"type": {"tag": [{"subexprPos": "/", "info": {"p": "0"}}, {"text": "Prop"}]},
"exprExplicit": {"text": "MyTrue"},
"doc": "MyTrue doc "}