Exemple #1
0
 public ExpressionEvaluationStepBatchParams(ExpressionEvaluationEngine stepEngine,
                                            LldbEvalErrorCode lldbEvalErrorCode, long durationUs)
 {
     StepEngine        = stepEngine;
     LldbEvalErrorCode = lldbEvalErrorCode;
     DurationUs        = durationUs;
 }
Exemple #2
0
        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);