public ExpressionEvaluationStepBatchParams(ExpressionEvaluationEngine stepEngine, LldbEvalErrorCode lldbEvalErrorCode, long durationUs) { StepEngine = stepEngine; LldbEvalErrorCode = lldbEvalErrorCode; DurationUs = durationUs; }
public void EngineStepBatchTest(ExpressionEvaluationEngine engineSource, ExpressionEvaluationStep.Types.Engine engineExpected) { var step = new ExpressionEvaluationStepBatchParams(engineSource, LLDBErrorCode.ERROR, 500); var steps = new List <ExpressionEvaluationStepBatchParams> { step }; var batchParams = new ExpressionEvaluationBatchParams( ExpressionEvaluationStrategy.LLDB, ExpressionEvaluationContext.FRAME, steps, 500, 2000, null); _expressionEvaluationBatch.Add(batchParams); var batchSummary = _expressionEvaluationBatch.GetSummary(); Assert.NotNull(batchSummary.Proto.ExpressionEvaluations); Assert.AreEqual(1, batchSummary.Proto.ExpressionEvaluations.Count); var expressionEvaluation = batchSummary.Proto.ExpressionEvaluations[0]; Assert.NotNull(expressionEvaluation.EvaluationSteps); Assert.AreEqual(1, expressionEvaluation.EvaluationSteps.Count); var firstStep = expressionEvaluation.EvaluationSteps[0]; Assert.AreEqual(engineExpected, firstStep.Engine); }
public void IncompatibleLldbResultExceptionTest(ExpressionEvaluationEngine engine) { var stepsRecorder = new ExpressionEvaluationRecorder.StepsRecorder(_timeSource); Step step = stepsRecorder.NewStep(engine); Assert.Throws <ArgumentException>(() => { step.Finalize(LldbEvalErrorCode.Ok); }); }
internal Step(StepsRecorder stepsRecorder, ITimeSource timeSource, ExpressionEvaluationEngine engine) { _startTicks = timeSource.GetTimestampTicks(); _stepsRecorder = stepsRecorder; _timeSource = timeSource; _engine = engine; _finalized = false; }
public Step NewStep(ExpressionEvaluationEngine engine) => new Step(this, _timeSource, engine);