diff --git a/service/dap/daptest/gen/main.go b/service/dap/daptest/gen/main.go index d1d95b6c..b7801cef 100644 --- a/service/dap/daptest/gen/main.go +++ b/service/dap/daptest/gen/main.go @@ -43,7 +43,12 @@ func (c *Client) Check{{.}}(t *testing.T, m dap.Message) *dap.{{.}} { r, ok := m.(*dap.{{.}}) if !ok { t.Fatalf("got %#v, want *dap.{{.}}", m) - } + }{{if or (or (eq . "StepInResponse") (eq . "StepOutResponse")) (eq . "NextResponse") }} + m = c.ExpectMessage(t) + _, ok = m.(*dap.ContinuedEvent) + if !ok { + t.Fatalf("got %#v, want *dap.ContinuedEvent", m) + }{{end}} return r }{{end}} `)) diff --git a/service/dap/daptest/resp.go b/service/dap/daptest/resp.go index 3ecb24cd..dfac8636 100644 --- a/service/dap/daptest/resp.go +++ b/service/dap/daptest/resp.go @@ -492,6 +492,11 @@ func (c *Client) CheckNextResponse(t *testing.T, m dap.Message) *dap.NextRespons if !ok { t.Fatalf("got %#v, want *dap.NextResponse", m) } + m = c.ExpectMessage(t) + _, ok = m.(*dap.ContinuedEvent) + if !ok { + t.Fatalf("got %#v, want *dap.ContinuedEvent", m) + } return r } @@ -906,6 +911,11 @@ func (c *Client) CheckStepInResponse(t *testing.T, m dap.Message) *dap.StepInRes if !ok { t.Fatalf("got %#v, want *dap.StepInResponse", m) } + m = c.ExpectMessage(t) + _, ok = m.(*dap.ContinuedEvent) + if !ok { + t.Fatalf("got %#v, want *dap.ContinuedEvent", m) + } return r } @@ -942,6 +952,11 @@ func (c *Client) CheckStepOutResponse(t *testing.T, m dap.Message) *dap.StepOutR if !ok { t.Fatalf("got %#v, want *dap.StepOutResponse", m) } + m = c.ExpectMessage(t) + _, ok = m.(*dap.ContinuedEvent) + if !ok { + t.Fatalf("got %#v, want *dap.ContinuedEvent", m) + } return r } diff --git a/service/dap/server_test.go b/service/dap/server_test.go index 75f5c6dd..bdf43135 100644 --- a/service/dap/server_test.go +++ b/service/dap/server_test.go @@ -1697,7 +1697,6 @@ func TestVariablesLoading(t *testing.T) { // step into another function client.StepInRequest(1) client.ExpectStepInResponse(t) - client.ExpectContinuedEvent(t) client.ExpectStoppedEvent(t) checkStop(t, client, 1, "main.barfoo", 24) loadvars(1001 /*second frame here is same as topmost above*/) @@ -1745,7 +1744,6 @@ func TestGlobalScopeAndVariables(t *testing.T) { // Step into pkg.AnotherMethod() client.StepInRequest(1) client.ExpectStepInResponse(t) - client.ExpectContinuedEvent(t) client.ExpectStoppedEvent(t) client.StackTraceRequest(1, 0, 20) @@ -2260,7 +2258,6 @@ func TestSetBreakpointWhileRunning(t *testing.T) { // We can set breakpoints while nexting client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) client.SetBreakpointsRequest(fixture.Source, []int{15}) // [16,] => [15,] se, br := expectSetBreakpointsResponseAndStoppedEvent(t, client) if se.Body.Reason != "pause" || !se.Body.AllThreadsStopped || se.Body.ThreadId != 0 && se.Body.ThreadId != 1 { @@ -2316,7 +2313,6 @@ func TestSetFunctionBreakpointWhileRunning(t *testing.T) { // We can set breakpoints while nexting client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) client.SetFunctionBreakpointsRequest([]dap.FunctionBreakpoint{{Name: "main.sayhi"}}) // [16,] => [16, 8] se, br := expectSetFunctionBreakpointsResponseAndStoppedEvent(t, client) if se.Body.Reason != "pause" || !se.Body.AllThreadsStopped || se.Body.ThreadId != 0 && se.Body.ThreadId != 1 { @@ -2973,22 +2969,18 @@ func TestNextAndStep(t *testing.T) { client.StepOutRequest(1) client.ExpectStepOutResponse(t) - client.ExpectContinuedEvent(t) expectStop("main.main", 18) client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) expectStop("main.main", 19) client.StepInRequest(1) client.ExpectStepInResponse(t) - client.ExpectContinuedEvent(t) expectStop("main.inlineThis", 5) client.NextRequest(-1000) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) if se := client.ExpectStoppedEvent(t); se.Body.Reason != "error" || se.Body.Text != "unknown goroutine -1000" { t.Errorf("got %#v, want Reason=\"error\", Text=\"unknown goroutine -1000\"", se) } @@ -3017,7 +3009,6 @@ func TestNextParked(t *testing.T) { client.NextRequest(goroutineId) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) se := client.ExpectStoppedEvent(t) if se.Body.ThreadId != goroutineId { @@ -3047,7 +3038,6 @@ func TestStepInParked(t *testing.T) { client.StepInRequest(goroutineId) client.ExpectStepInResponse(t) - client.ExpectContinuedEvent(t) se := client.ExpectStoppedEvent(t) if se.Body.ThreadId != goroutineId { @@ -3167,7 +3157,6 @@ func TestStepOutPreservesGoroutine(t *testing.T) { } client.StepOutRequest(goroutineId) client.ExpectStepOutResponse(t) - client.ExpectContinuedEvent(t) switch e := client.ExpectMessage(t).(type) { case *dap.StoppedEvent: @@ -3221,22 +3210,18 @@ func TestBadAccess(t *testing.T) { client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) expectStoppedOnError("invalid memory address or nil pointer dereference") client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) expectStoppedOnError("next while nexting") client.StepInRequest(1) client.ExpectStepInResponse(t) - client.ExpectContinuedEvent(t) expectStoppedOnError("next while nexting") client.StepOutRequest(1) client.ExpectStepOutResponse(t) - client.ExpectContinuedEvent(t) expectStoppedOnError("next while nexting") }, disconnect: true, @@ -3297,7 +3282,6 @@ func TestPanicBreakpointOnNext(t *testing.T) { client.NextRequest(1) client.ExpectNextResponse(t) - client.ExpectContinuedEvent(t) se := client.ExpectStoppedEvent(t) if se.Body.ThreadId != 1 || se.Body.Reason != "exception" || se.Body.Description != "Paused on panic" {