test: goals accomplished (#8319)
This PR adds a test for the goals accomplished diagnostics so that we notice when they break. Follow-up for #8242.
This commit is contained in:
parent
aa3e7848c2
commit
92b59ae4f6
4 changed files with 177 additions and 13 deletions
|
|
@ -95,6 +95,9 @@ partial def main (args : List String) : IO Unit := do
|
|||
}
|
||||
}
|
||||
}
|
||||
lean? := some {
|
||||
silentDiagnosticSupport? := some true
|
||||
}
|
||||
}
|
||||
Ipc.writeRequest ⟨0, "initialize", { capabilities : InitializeParams }⟩
|
||||
let _ ← Ipc.readResponseAs 0 InitializeResult
|
||||
|
|
|
|||
|
|
@ -1,7 +1,29 @@
|
|||
blocked!
|
||||
cancelled!
|
||||
rerun!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 11, "character": 0}, "end": {"line": 12, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 11, "character": 0},
|
||||
"end": {"line": 12, "character": 15}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 18, "character": 0}, "end": {"line": 19, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 18, "character": 0},
|
||||
"end": {"line": 21, "character": 9}}}]}
|
||||
blocked!
|
||||
unblocking!
|
||||
{"version": 2,
|
||||
|
|
@ -20,8 +42,17 @@ unblocking!
|
|||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 18}},
|
||||
"message": "blocked",
|
||||
"fullRange":
|
||||
{"start": {"line": 7, "character": 2},
|
||||
"end": {"line": 7, "character": 18}}}]}
|
||||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 18}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 10, "character": 0}, "end": {"line": 11, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 10, "character": 0},
|
||||
"end": {"line": 11, "character": 18}}}]}
|
||||
unblocking!
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
|
|
@ -32,8 +63,17 @@ unblocking!
|
|||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 24}},
|
||||
"message": "blocked",
|
||||
"fullRange":
|
||||
{"start": {"line": 7, "character": 2},
|
||||
"end": {"line": 7, "character": 24}}}]}
|
||||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 24}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 10, "character": 0}, "end": {"line": 11, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 10, "character": 0},
|
||||
"end": {"line": 11, "character": 18}}}]}
|
||||
unblocking!
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
|
|
@ -64,14 +104,47 @@ unblocking!
|
|||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 18}},
|
||||
"message": "blocked",
|
||||
"fullRange":
|
||||
{"start": {"line": 7, "character": 2},
|
||||
"end": {"line": 7, "character": 18}}}]}
|
||||
{"start": {"line": 7, "character": 2}, "end": {"line": 7, "character": 18}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 9, "character": 0}, "end": {"line": 9, "character": 37}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 9, "character": 0},
|
||||
"end": {"line": 9, "character": 37}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 13, "character": 9}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 13, "character": 9}}}]}
|
||||
unblocking!
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
|
|
@ -86,13 +159,61 @@ unblocking!
|
|||
"end": {"line": 6, "character": 39}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 11, "character": 9}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 11, "character": 9}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 13, "character": 10}}}]}
|
||||
blocked!
|
||||
cancelled!
|
||||
{"version": 2, "uri": "file:///cancellation.lean", "diagnostics": []}
|
||||
{"version": 2,
|
||||
"uri": "file:///cancellation.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 6, "character": 0}, "end": {"line": 7, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 6, "character": 0},
|
||||
"end": {"line": 13, "character": 10}}}]}
|
||||
|
|
|
|||
9
tests/lean/interactive/goalsAccomplished.lean
Normal file
9
tests/lean/interactive/goalsAccomplished.lean
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
theorem foo : True := by
|
||||
exact True.intro
|
||||
--^ collectDiagnostics
|
||||
|
||||
theorem foobar : True := True.intro
|
||||
--^ collectDiagnostics
|
||||
|
||||
example : True := True.intro
|
||||
--^ collectDiagnostics
|
||||
31
tests/lean/interactive/goalsAccomplished.lean.expected.out
Normal file
31
tests/lean/interactive/goalsAccomplished.lean.expected.out
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{"version": 1,
|
||||
"uri": "file:///goalsAccomplished.lean",
|
||||
"diagnostics":
|
||||
[{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 0, "character": 0}, "end": {"line": 1, "character": 0}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 0, "character": 0}, "end": {"line": 1, "character": 18}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 4, "character": 0}, "end": {"line": 4, "character": 35}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 4, "character": 0}, "end": {"line": 4, "character": 35}}},
|
||||
{"source": "Lean 4",
|
||||
"severity": 3,
|
||||
"range":
|
||||
{"start": {"line": 7, "character": 0}, "end": {"line": 7, "character": 28}},
|
||||
"message": "Goals accomplished!",
|
||||
"leanTags": [2],
|
||||
"isSilent": true,
|
||||
"fullRange":
|
||||
{"start": {"line": 7, "character": 0},
|
||||
"end": {"line": 7, "character": 28}}}]}
|
||||
Loading…
Add table
Reference in a new issue