Exemplo n.º 1
0
        public override Task <ExecutedLineReply> Track(ExecutedLine request, ServerCallContext context)
        {
            _logger?.LogInformation($"gRPC Server Received: {request.MetadataToken}:{request.StartLineNumber}:{request.EndLineNumber}");

            _coverageContext.MarkExecution(request);

            return(Task.FromResult(new ExecutedLineReply()));
        }
Exemplo n.º 2
0
        public void MarkExecution(ExecutedLine executedLine)
        {
            //TODO: Requires refactoring
            var module = Modules.First(x => x.ModuleHash == executedLine.ModuleHash);
            var @class = module.Types.First(x => x.Methods.Any(y => y.MetadataToken == executedLine.MetadataToken));
            var method = @class.Methods.First(y => y.MetadataToken == executedLine.MetadataToken);

            method.Executed = true;

            var sequencePoints = method.SequencePoints.Where(x => executedLine.StartLineNumber == x.StartLine);

            foreach (var sequencePoint in sequencePoints)
            {
                sequencePoint.ExecutionCount++;
            }
        }