Fix: rpc.(*RPCClient).EvalVariableFor
Original implementation was passing the wrong argument.
This commit is contained in:
parent
8e8d2660ef
commit
fd08e96b24
@ -147,7 +147,7 @@ func (c *RPCClient) EvalVariable(symbol string) (*api.Variable, error) {
|
|||||||
|
|
||||||
func (c *RPCClient) EvalVariableFor(threadID int, symbol string) (*api.Variable, error) {
|
func (c *RPCClient) EvalVariableFor(threadID int, symbol string) (*api.Variable, error) {
|
||||||
v := new(api.Variable)
|
v := new(api.Variable)
|
||||||
err := c.call("EvalThreadSymbol", threadID, v)
|
err := c.call("EvalThreadSymbol", ThreadSymbolArgs{threadID, symbol}, v)
|
||||||
return v, err
|
return v, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -601,3 +601,41 @@ func TestClientServer_FindLocations(t *testing.T) {
|
|||||||
findLocationHelper(t, c, "main.stacktraceme", false, 1, stacktracemeAddr)
|
findLocationHelper(t, c, "main.stacktraceme", false, 1, stacktracemeAddr)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestClientServer_EvalVariableFor(t *testing.T) {
|
||||||
|
withTestClient("testvariables", t, func(c service.Client) {
|
||||||
|
fp := testProgPath(t, "testvariables")
|
||||||
|
_, err := c.CreateBreakpoint(&api.Breakpoint{File: fp, Line: 59})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("CreateBreakpoint(): %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
state := <-c.Continue()
|
||||||
|
|
||||||
|
if state.Err != nil {
|
||||||
|
t.Fatalf("Continue(): %v\n", state.Err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var1, err := c.EvalVariable("a1")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("EvalVariable(): %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
t.Logf("var1: <%s>", var1.Value)
|
||||||
|
|
||||||
|
if var1.Value != "foofoofoofoofoofoo" {
|
||||||
|
t.Fatalf("Wrong variable value (EvalVariable)", var1.Value)
|
||||||
|
}
|
||||||
|
|
||||||
|
var2, err := c.EvalVariableFor(state.CurrentThread.ID, "a1")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("EvalVariableFor(): %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
t.Logf("var2: <%s>", var2.Value)
|
||||||
|
|
||||||
|
if var2.Value != var1.Value {
|
||||||
|
t.Fatalf("Wrong variable value (EvalVariableFor)", var2.Value)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user