Documentation

Lean.Server.Test.Runner

Runner for tests/lean/interactive server tests. Put here to avoid repeated elaboration overhead per test.

@[reducible, inline]
Instances For
    Instances For
      Instances For
        Instances For
          Instances For
            @[implicit_reducible]
            Instances For
              @[implicit_reducible]
              instance Lean.Server.Test.Runner.Client.instToJsonStrictOrLazy {α✝ β✝ : Type} [ToJson α✝] [ToJson β✝] :
              ToJson (StrictOrLazy α✝ β✝)
              @[reducible, inline]
              Instances For

                Test-only instances

                Instances For
                  @[reducible, inline]
                  Instances For
                    def Lean.Server.Test.Runner.request {α : Type u_1} (method : String) [ToJson α] (p : α) (β : Type) [FromJson β] :
                    Instances For
                      def Lean.Server.Test.Runner.requestWithLoggedResponse {α : Type u_1} (method : String) [ToJson α] (p : α) (β : Type) [FromJson β] [ToJson β] (logParam : Bool := true) :
                      Instances For
                        def Lean.Server.Test.Runner.logResponse {α : Type u_1} (method : String) [ToJson α] (p : α) (β : Type := Json) [FromJson β] [ToJson β] (logParam : Bool := true) :
                        Instances For
                          def Lean.Server.Test.Runner.rpcRequest {α : Type u_1} (method : Name) [ToJson α] (p : α) (β : Type) [FromJson β] :
                          Instances For
                            def Lean.Server.Test.Runner.rpcRequestWithLoggedResponse {α : Type u_1} (method : Name) [ToJson α] (p : α) (β : Type) [FromJson β] [ToJson β] (logParam : Bool := true) (normalize : βClient.NormalizeM β := pure) :
                            Instances For
                              def Lean.Server.Test.Runner.logRpcResponse {α : Type u_1} (method : Name) [ToJson α] (p : α) (β : Type := Json) [FromJson β] [ToJson β] (logParam : Bool := true) (normalize : βClient.NormalizeM β := pure) :
                              Instances For

                                Waits for a textDocument/publishDiagnostics notification with a specific message to be emitted. Discards all received messages, so should not be combined with Ipc.collectDiagnostics. Used to implement the waitFor test directive.

                                If the server reports a $/lean/fileProgress notification with fatalError kind, this aborts with an error rather than blocking forever: the message we are waiting for will never be produced (the worker either crashed or its header processing failed fatally, so no body elaboration will run).

                                Kept here rather than in Lean.Lsp.Ipc because it is specifically a test-driver helper rather than a general-purpose IPC primitive.

                                Instances For
                                  def Lean.Server.Test.Runner.processDirective (_ws directive : String) (directiveTargetLineNo directiveTargetColumn : Nat) :
                                  Instances For