mirror of https://github.com/golang/go.git
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package misc
|
|
|
|
import (
|
|
"net/http"
|
|
"testing"
|
|
|
|
"golang.org/x/tools/internal/lsp/command"
|
|
"golang.org/x/tools/internal/lsp/protocol"
|
|
|
|
. "golang.org/x/tools/internal/lsp/regtest"
|
|
)
|
|
|
|
func TestStartDebugging(t *testing.T) {
|
|
WithOptions(
|
|
Modes(Forwarded),
|
|
).Run(t, "", func(t *testing.T, env *Env) {
|
|
args, err := command.MarshalArgs(command.DebuggingArgs{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
params := &protocol.ExecuteCommandParams{
|
|
Command: command.StartDebugging.ID(),
|
|
Arguments: args,
|
|
}
|
|
var result command.DebuggingResult
|
|
env.ExecuteCommand(params, &result)
|
|
if got, want := len(result.URLs), 2; got != want {
|
|
t.Fatalf("got %d urls, want %d; urls: %#v", got, want, result.URLs)
|
|
}
|
|
for i, u := range result.URLs {
|
|
resp, err := http.Get(u)
|
|
if err != nil {
|
|
t.Errorf("getting url #%d (%q): %v", i, u, err)
|
|
continue
|
|
}
|
|
defer resp.Body.Close()
|
|
if got, want := resp.StatusCode, http.StatusOK; got != want {
|
|
t.Errorf("debug server #%d returned HTTP %d, want %d", i, got, want)
|
|
}
|
|
}
|
|
})
|
|
}
|