public void CreateAndCompareVar(string caller_trace, string variable, string val) { var res = MIDebugger.Request("-var-create - * \"" + variable + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(val, ((MIConst)res["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void CalcAndCheckExpression(string caller_trace, string ExpectedResult, string expr) { var res = MIDebugger.Request("-var-create - * \"" + expr + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedResult, ((MIConst)res["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void GetResultAsString(string caller_trace, string expr, out string strRes) { var res = MIDebugger.Request("-var-create - * \"" + expr + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); strRes = ((MIConst)res["value"]).CString; }
public void CheckEnum(string caller_trace, string VarName, string ExpectedResult) { var result = MIDebugger.Request(String.Format("-var-create - * \"{0}\"", VarName)); Assert.Equal(MIResultClass.Done, result.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedResult, ((MIConst)result["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void CheckErrorAtRequest(string caller_trace, string Expression, string errMsgStart) { var res = MIDebugger.Request(String.Format("-var-create - * \"{0}\"", Expression)); Assert.Equal(MIResultClass.Error, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.True(((MIConst)res["msg"]).CString.StartsWith(errMsgStart), @"__FILE__:__LINE__" + "\n" + caller_trace); }
public static bool DoStepTo(string lbpName) { var lbp = (LineBreakpoint)DebuggeeInfo.Breakpoints[lbpName]; Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-next").Class); return(WasStep(lbp)); }
public static void CreateAndCompareVar(string variable, string val) { var res = MIDebugger.Request("-var-create - * \"" + variable + "\""); Assert.Equal(MIResultClass.Done, res.Class); Assert.Equal(val, ((MIConst)res["value"]).CString); }
public static string CalcExpression(string expr, int token) { var res = MIDebugger.Request(token.ToString() + "-var-create - * \"" + expr + "\""); Assert.Equal(MIResultClass.Done, res.Class); return(((MIConst)res["value"]).CString); }
public void CheckVar(string caller_trace, string varName) { // varName is equal to it value; var res = MIDebugger.Request("-var-create - * \"" + varName + "\""); if (res.Class != MIResultClass.Done || ((MIConst)res["value"]).String != "\"" + varName + "\"") { throw new ResultNotSuccessException(@"__FILE__:__LINE__" + "\n" + caller_trace); } }
public static string InsertBreakpoint(Breakpoint bp, int token) { var res = MIDebugger.Request(token.ToString() + "-break-insert -f " + bp.ToString()); if (res.Class != MIResultClass.Done) { return(null); } return(((MIConst)((MITuple)res["bkpt"])["number"]).CString); }
public string GetAndCheckValue(string caller_trace, string ExpectedResult, string ExpectedType, string Expression) { var res = MIDebugger.Request(String.Format("-var-create - * \"{0}\"", Expression)); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(Expression, ((MIConst)res["exp"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedType, ((MIConst)res["type"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedResult, ((MIConst)res["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); return(((MIConst)res["name"]).CString); }
public static void CreateAndAssignVar(string variable, string val) { var res = MIDebugger.Request("-var-create - * \"" + variable + "\""); Assert.Equal(MIResultClass.Done, res.Class); string internalName = ((MIConst)res["name"]).CString; Assert.Equal(MIResultClass.Done, MIDebugger.Request("-var-assign " + internalName + " " + "\"" + val + "\"").Class); }
public void CreateAndAssignVar(string caller_trace, string variable, string val) { var res = MIDebugger.Request("-var-create - * \"" + variable + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); string internalName = ((MIConst)res["name"]).CString; Assert.Equal(MIResultClass.Done, MIDebugger.Request("-var-assign " + internalName + " " + "\"" + val + "\"").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void EnableBreakpoint(string caller_trace, string bpName) { Breakpoint bp = ControlInfo.Breakpoints[bpName]; Assert.Equal(BreakpointType.Line, bp.Type, @"__FILE__:__LINE__" + "\n" + caller_trace); var lbp = (LineBreakpoint)bp; Assert.Equal(MIResultClass.Done, MIDebugger.Request("-break-insert -f " + lbp.FileName + ":" + lbp.NumLine).Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public static void EnableBreakpoint(string bpName) { Breakpoint bp = DebuggeeInfo.Breakpoints[bpName]; Assert.Equal(BreakpointType.Line, bp.Type); var lbp = (LineBreakpoint)bp; Assert.Equal(MIResultClass.Done, MIDebugger.Request("-break-insert -f " + lbp.FileName + ":" + lbp.NumLine).Class); }
public static void Prepare() { Assert.Equal(MIResultClass.Done, MIDebugger.Request("-file-exec-and-symbols " + DebuggeeInfo.CorerunPath).Class); Assert.Equal(MIResultClass.Done, MIDebugger.Request("-exec-arguments " + DebuggeeInfo.TargetAssemblyPath).Class); Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-run").Class); }
public static void CheckVar(string varName) { // varName is equal to it value; var res = MIDebugger.Request("-var-create - * \"" + varName + "\""); if (res.Class != MIResultClass.Done || ((MIConst)res["value"]).String != "\"" + varName + "\"") { Logger.LogLine(((MIConst)res["value"]).String); Logger.LogLine(varName); throw new NetcoreDbgTestCore.ResultNotSuccessException(); } }
public void Prepare(string caller_trace) { Assert.Equal(MIResultClass.Done, MIDebugger.Request("-file-exec-and-symbols " + ControlInfo.CorerunPath).Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(MIResultClass.Done, MIDebugger.Request("-exec-arguments " + ControlInfo.TargetAssemblyPath).Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-run").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void GetAndCheckChildValue(string caller_trace, string ExpectedResult, string ExpectedType, string VariableName, string ChildName) { var res = MIDebugger.Request(String.Format("-var-create - * \"{0}\"", VariableName)); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); var var_name = ((MIConst)res["name"]).CString; res = MIDebugger.Request("-var-list-children --simple-values " + "\"" + var_name + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); var children = (MIList)res["children"]; string child_var_name = ""; for (int i = 0; i < ((MIConst)res["numchild"]).Int; i++) { var child = (MITuple)((MIResult)children[i]).Value; if (((MIConst)child["exp"]).CString == ChildName) { Assert.Equal(ExpectedType, ((MIConst)child["type"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedResult, ((MIConst)child["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); return; } if (((MIConst)child["exp"]).CString == "Static members") { child_var_name = ((MIConst)child["name"]).CString; } } Assert.True(child_var_name != "", @"__FILE__:__LINE__" + "\n" + caller_trace); res = MIDebugger.Request("-var-list-children --simple-values " + "\"" + child_var_name + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); children = (MIList)res["children"]; for (int i = 0; i < ((MIConst)res["numchild"]).Int; i++) { var child = (MITuple)((MIResult)children[i]).Value; if (((MIConst)child["exp"]).CString == ChildName) { Assert.Equal(ExpectedType, ((MIConst)child["type"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(ExpectedResult, ((MIConst)child["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); return; } } throw new ResultNotSuccessException(@"__FILE__:__LINE__" + "\n" + caller_trace); }
public static string EnableBreakpoint(string bpName, string bpPath = null) { Breakpoint bp = DebuggeeInfo.Breakpoints[bpName]; Assert.Equal(BreakpointType.Line, bp.Type); var lbp = (LineBreakpoint)bp; var BpResp = MIDebugger.Request("-break-insert -f " + (bpPath != null ? bpPath : lbp.FileName) + ":" + lbp.NumLine); Assert.Equal(MIResultClass.Done, BpResp.Class); CurrentBpId++; // return breakpoint id return(((MIConst)((MITuple)BpResp["bkpt"])["number"]).CString); }
public static string GetChildValue(string variable, int childIndex) { var res = MIDebugger.Request("-var-create - * " + "\"" + variable + "\"", 2000); Assert.Equal(MIResultClass.Done, res.Class); string struct2 = ((MIConst)res["name"]).CString; res = MIDebugger.Request("-var-list-children --simple-values " + "\"" + struct2 + "\""); Assert.Equal(MIResultClass.Done, res.Class); var children = (MIList)res["children"]; var child = (MITuple)((MIResult)children[childIndex]).Value; return(((MIConst)child["value"]).CString); }
public static string GetChildValue(string variable, int childIndex, bool setEvalFlags, enum_EVALFLAGS evalFlags) { var res = MIDebugger.Request("-var-create - * " + "\"" + variable + "\"" + (setEvalFlags ? (" --evalFlags " + (int)evalFlags) : "")); Assert.Equal(MIResultClass.Done, res.Class); string struct2 = ((MIConst)res["name"]).CString; res = MIDebugger.Request("-var-list-children --simple-values " + "\"" + struct2 + "\""); Assert.Equal(MIResultClass.Done, res.Class); var children = (MIList)res["children"]; var child = (MITuple)((MIResult)children[childIndex]).Value; return(((MIConst)child["value"]).CString); }
public void Prepare(string caller_trace) { // Explicitly enable JMC for this test. Assert.Equal(MIResultClass.Done, MIDebugger.Request("-gdb-set just-my-code 1").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(MIResultClass.Done, MIDebugger.Request("-file-exec-and-symbols " + ControlInfo.CorerunPath).Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(MIResultClass.Done, MIDebugger.Request("-exec-arguments " + ControlInfo.TargetAssemblyPath).Class, @"__FILE__:__LINE__" + "\n" + caller_trace); Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-run").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void GetAndCheckChildValue(string caller_trace, string ExpectedResult, string variable, int childIndex, bool setEvalFlags, enum_EVALFLAGS evalFlags) { var res = MIDebugger.Request("-var-create - * " + "\"" + variable + "\"" + (setEvalFlags ? (" --evalFlags " + (int)evalFlags) : "")); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); string struct2 = ((MIConst)res["name"]).CString; res = MIDebugger.Request("-var-list-children --simple-values " + "\"" + struct2 + "\""); Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); var children = (MIList)res["children"]; var child = (MITuple)((MIResult)children[childIndex]).Value; Assert.Equal(ExpectedResult, ((MIConst)child["value"]).CString, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void Continue(string caller_trace) { Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-continue").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public void DebuggerExit(string caller_trace) { Assert.Equal(MIResultClass.Exit, MIDebugger.Request("-gdb-exit").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public static void Continue() { Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-continue").Class); }
public void StepOut(string caller_trace) { Assert.Equal(MIResultClass.Running, MIDebugger.Request("-exec-finish").Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }
public static void InsertBreakpoint(Breakpoint bp, int token) { Assert.Equal(MIResultClass.Done, MIDebugger.Request(token.ToString() + "-break-insert -f " + bp.ToString()).Class); }
public void CheckErrorAtRequest(string caller_trace, string Expression) { var res = MIDebugger.Request(String.Format("-var-create - * \"{0}\"", Expression)); Assert.Equal(MIResultClass.Error, res.Class, @"__FILE__:__LINE__" + "\n" + caller_trace); }