public static IEnumerable <AbstractTestResultParser> GetTestResultParsers(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetry) { var currentDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var dllFile = new FileInfo(Path.Combine(currentDir, "Agent.Plugins.Log.TestResultParser.Parser.dll")); Assembly.LoadFrom(dllFile.FullName); var interfaceType = typeof(AbstractTestResultParser); return(AppDomain.CurrentDomain.GetAssemblies() .SelectMany((x) => { try { return x.GetTypes(); } catch { // Skipping issues with assemblies load via reflection - since there are some issues with 'Microsoft.VisualStudio.Services.Agent', although this assembly is not relevant here return new Type[0]; } }) .Where(x => interfaceType.IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract) .Select(x => (AbstractTestResultParser)Activator.CreateInstance(x, testRunManager, logger, telemetry))); }
/// <summary> /// Default constructor accepting only test run manager instance, rest of the requirements assume default values /// </summary> public PythonTestResultParser(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetry) : base(testRunManager, logger, telemetry) { base.logger.Info("PythonTestResultParser : Starting python test result parser."); base.telemetry.AddToCumulativeTelemetry(PythonTelemetryConstants.EventArea, PythonTelemetryConstants.Initialize, true); this.state = ParserState.ExpectingTestResults; this.currentTestRun = new TestRun($"{Name}/{Version}", this.currentTestRunId); }
/// <summary> /// Default constructor accepting only test run manager instance, rest of the requirements assume default values /// </summary> public PythonTestResultParser(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetry) : base(testRunManager, logger, telemetry) { Logger.Info("PythonTestResultParser : Starting python test result parser."); Telemetry.AddOrUpdate(PythonTelemetryConstants.Initialize, true, PythonTelemetryConstants.EventArea); _state = ParserState.ExpectingTestResults; _currentTestRun = new TestRun($"{Name}/{Version}", "Python", _currentTestRunId); }
/// <summary> /// Detailed constructor where specified logger and telemetry data collector are initialized along with test run manager /// </summary> /// <param name="testRunPublisher"></param> /// <param name="diagnosticDataCollector"></param> /// <param name="telemetryDataCollector"></param> public MochaTestResultParser(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetryDataCollector) : base(testRunManager, logger, telemetryDataCollector) { Logger.Info("MochaTestResultParser : Starting mocha test result parser."); Telemetry.AddOrUpdate(MochaTelemetryConstants.Initialize, true, MochaTelemetryConstants.EventArea); // Initialize the starting state of the parser var testRun = new TestRun($"{Name}/{Version}", "Mocha", 1); _stateContext = new MochaParserStateContext(testRun); _currentState = MochaParserStates.ExpectingTestResults; }
/// <summary> /// Detailed constructor where specified logger and telemetry data collector are initialized along with test run manager /// </summary> /// <param name="testRunPublisher"></param> /// <param name="diagnosticDataCollector"></param> /// <param name="telemetryDataCollector"></param> public JestTestResultParser(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetryDataCollector) : base(testRunManager, logger, telemetryDataCollector) { logger.Info("JestTestResultParser : Starting jest test result parser."); telemetryDataCollector.AddToCumulativeTelemetry(JestTelemetryConstants.EventArea, JestTelemetryConstants.Initialize, true); // Initialize the starting state of the parser var testRun = new TestRun($"{Name}/{Version}", 1); this.stateContext = new JestParserStateContext(testRun); this.currentState = JestParserStates.ExpectingTestRunStart; }
public static IEnumerable <AbstractTestResultParser> GetTestResultParsers(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetry) { var currentDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var dllFile = new FileInfo(Path.Combine(currentDir, "Agent.Plugins.Log.TestResultParser.Parser.dll")); Assembly.LoadFrom(dllFile.FullName); var interfaceType = typeof(AbstractTestResultParser); return(AppDomain.CurrentDomain.GetAssemblies() .SelectMany(x => x.GetTypes()) .Where(x => interfaceType.IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract) .Select(x => (AbstractTestResultParser)Activator.CreateInstance(x, testRunManager, logger, telemetry))); }
/// <summary> /// Detailed constructor where specified logger and telemetry data collector are initialized along with test run manager /// </summary> /// <param name="testRunPublisher"></param> /// <param name="diagnosticDataCollector"></param> /// <param name="telemetryDataCollector"></param> public MochaTestResultParser(ITestRunManager testRunManager, ITraceLogger logger, ITelemetryDataCollector telemetryDataCollector) : base(testRunManager, logger, telemetryDataCollector) { logger.Info("MochaTestResultParser : Starting mocha test result parser."); telemetryDataCollector.AddToCumulativeTelemetry(MochaTelemetryConstants.EventArea, MochaTelemetryConstants.Initialize, true); // Initialize the starting state of the parser var testRun = new TestRun($"{Name}/{Version}", 1); this.stateContext = new MochaParserStateContext(testRun); this.currentState = MochaParserStates.ExpectingTestResults; this.expectingTestResults = new MochaExpectingTestResults(AttemptPublishAndResetParser, logger, telemetryDataCollector); this.expectingTestRunSummary = new MochaExpectingTestRunSummary(AttemptPublishAndResetParser, logger, telemetryDataCollector); this.expectingStackTraces = new MochaExpectingStackTraces(AttemptPublishAndResetParser, logger, telemetryDataCollector); }
private void RunTasks(ITestRunManager runManager, TestRun testRun) { runManager.PublishAsync(testRun); runManager.PublishAsync(testRun); }
protected AbstractTestResultParser(ITestRunManager testRunManager, ITraceLogger traceLogger, ITelemetryDataCollector telemetryDataCollector) { this.testRunManager = testRunManager; this.logger = traceLogger; this.telemetry = telemetryDataCollector; }
public ConfigurationRepository(IOptions <ConnectionStrings> connnectionStrings, ITestRunManager testRunManager) { _connnectionStrings = connnectionStrings; _testRunManager = testRunManager; }