Beispiel #1
0
        public void LldbEvalEvaluationResultBatchTest(LldbEvalErrorCode resultSource,
                                                      ExpressionEvaluationStep.Types.EngineResult
                                                      resultExpected)
        {
            var step =
                new ExpressionEvaluationStepBatchParams(ExpressionEvaluationEngine.LLDB_EVAL,
                                                        resultSource, 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(resultExpected, firstStep.Result);
        }
Beispiel #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);
        }
Beispiel #3
0
        public void AllContextValuesMappedTest()
        {
            Array enumValues = Enum.GetValues(typeof(ExpressionEvaluationContext));
            var   steps      = new List <ExpressionEvaluationStepBatchParams>();

            // Validate that all context values defined in ExpressionEvaluationContext are mapped.
            foreach (ExpressionEvaluationContext value in enumValues)
            {
                var batchParams = new ExpressionEvaluationBatchParams(
                    ExpressionEvaluationStrategy.LLDB, value, steps, 500, 2000, null);

                _expressionEvaluationBatch.Add(batchParams);

                Assert.DoesNotThrow(() => { _expressionEvaluationBatch.GetSummary(); });
            }
        }
Beispiel #4
0
        public void InvalidLldbEvalErrorCodeMappedToUnknownTest(LldbEvalErrorCode code)
        {
            var step = new ExpressionEvaluationStepBatchParams(
                ExpressionEvaluationEngine.LLDB_EVAL, code, 500);
            var steps = new List <ExpressionEvaluationStepBatchParams> {
                step
            };
            var batchParams = new ExpressionEvaluationBatchParams(
                ExpressionEvaluationStrategy.LLDB_EVAL, ExpressionEvaluationContext.FRAME,
                steps, 500, 2000, null);

            _expressionEvaluationBatch.Add(batchParams);

            var summary = _expressionEvaluationBatch.GetSummary();

            Assert.AreEqual(
                ExpressionEvaluationStep.Types.EngineResult.LldbEvalUnknown,
                summary.Proto.ExpressionEvaluations[0].EvaluationSteps[0].Result.Value);
        }
Beispiel #5
0
        public void AllEngineResultValuesMappedTest()
        {
            Array enumValuesLldb = Enum.GetValues(typeof(LLDBErrorCode));

            // Validate that all engine result values for lldb are mapped.
            foreach (LLDBErrorCode value in enumValuesLldb)
            {
                var step =
                    new ExpressionEvaluationStepBatchParams(ExpressionEvaluationEngine.LLDB, value,
                                                            500);
                var steps = new List <ExpressionEvaluationStepBatchParams> {
                    step
                };
                var batchParams = new ExpressionEvaluationBatchParams(
                    ExpressionEvaluationStrategy.LLDB, ExpressionEvaluationContext.FRAME, steps,
                    500, 2000, null);

                _expressionEvaluationBatch.Add(batchParams);

                Assert.DoesNotThrow(() => { _expressionEvaluationBatch.GetSummary(); });
            }

            Array enumValuesLldbEval = Enum.GetValues(typeof(LldbEvalErrorCode));

            // Validate that all engine result values for lldb-eval are mapped.
            foreach (LldbEvalErrorCode value in enumValuesLldbEval)
            {
                var step =
                    new ExpressionEvaluationStepBatchParams(ExpressionEvaluationEngine.LLDB_EVAL,
                                                            value, 500);
                var steps = new List <ExpressionEvaluationStepBatchParams> {
                    step
                };
                var batchParams = new ExpressionEvaluationBatchParams(
                    ExpressionEvaluationStrategy.LLDB, ExpressionEvaluationContext.FRAME, steps,
                    500, 2000, null);

                _expressionEvaluationBatch.Add(batchParams);

                Assert.DoesNotThrow(() => { _expressionEvaluationBatch.GetSummary(); });
            }
        }
Beispiel #6
0
        public void AllEngineValuesMappedTest()
        {
            Array enumValues = Enum.GetValues(typeof(ExpressionEvaluationEngine));

            // Validate that all engine values defined in ExpressionEvaluationEngine are mapped.
            foreach (ExpressionEvaluationEngine value in enumValues)
            {
                var step  = new ExpressionEvaluationStepBatchParams(value, LLDBErrorCode.OK, 500);
                var steps = new List <ExpressionEvaluationStepBatchParams> {
                    step
                };
                var batchParams = new ExpressionEvaluationBatchParams(
                    ExpressionEvaluationStrategy.LLDB, ExpressionEvaluationContext.FRAME, steps,
                    500, 2000, null);

                _expressionEvaluationBatch.Add(batchParams);

                Assert.DoesNotThrow(() => { _expressionEvaluationBatch.GetSummary(); });
            }
        }