예제 #1
0
 public FCCEngine(
     ICoverletUtil coverletUtil,
     IOpenCoverUtil openCoverUtil,
     ICoberturaUtil coberturaUtil,
     IMsTestPlatformUtil msTestPlatformUtil,
     IReportGeneratorUtil reportGeneratorUtil,
     IProcessUtil processUtil,
     IAppOptionsProvider appOptionsProvider,
     ILogger logger,
     IAppDataFolder appDataFolder,
     [Import(typeof(SVsServiceProvider))]
     IServiceProvider serviceProvider
     )
 {
     this.coverletUtil        = coverletUtil;
     this.openCoverUtil       = openCoverUtil;
     this.coberturaUtil       = coberturaUtil;
     this.msTestPlatformUtil  = msTestPlatformUtil;
     this.reportGeneratorUtil = reportGeneratorUtil;
     this.processUtil         = processUtil;
     this.appOptionsProvider  = appOptionsProvider;
     this.logger          = logger;
     this.appDataFolder   = appDataFolder;
     this.serviceProvider = serviceProvider;
     colorThemeService    = serviceProvider.GetService(typeof(SVsColorThemeService));
 }
예제 #2
0
        public TestContainerDiscoverer
        (
            [Import(typeof(IOperationState))]
            IOperationState operationState,

            IFCCEngine fccEngine,
            IInitializer initializer,
            ITestOperationFactory testOperationFactory,
            ILogger logger,
            IAppOptionsProvider appOptionsProvider

        )
        {
            appOptionsProvider.OptionsChanged += AppOptionsEvents_OptionsChanged;
            this.appOptionsProvider            = appOptionsProvider;
            this.fccEngine            = fccEngine;
            this.testOperationFactory = testOperationFactory;
            this.logger = logger;

            initializeThread = new Thread(() =>
            {
                operationState.StateChanged += OperationState_StateChanged;
                initializer.Initialize();
            });
            initializeThread.Start();
        }
예제 #3
0
 public FCCEngine(
     ICoverageUtilManager coverageUtilManager,
     ICoberturaUtil coberturaUtil,
     IMsTestPlatformUtil msTestPlatformUtil,
     IReportGeneratorUtil reportGeneratorUtil,
     ILogger logger,
     IAppDataFolder appDataFolder,
     ICoverageToolOutputManager coverageOutputManager,
     IMsCodeCoverageRunSettingsService msCodeCoverageRunSettingsService,
     ISolutionEvents solutionEvents,
     IAppOptionsProvider appOptionsProvider,
     IEventAggregator eventAggregator,
     IDisposeAwareTaskRunner disposeAwareTaskRunner
     )
 {
     this.solutionEvents                = solutionEvents;
     this.eventAggregator               = eventAggregator;
     this.disposeAwareTaskRunner        = disposeAwareTaskRunner;
     solutionEvents.AfterClosing       += (s, args) => ClearOutputWindow(false);
     appOptionsProvider.OptionsChanged += (appOptions) =>
     {
         if (!appOptions.Enabled)
         {
             ClearUI();
         }
     };
     this.coverageOutputManager = coverageOutputManager;
     this.coverageUtilManager   = coverageUtilManager;
     this.coberturaUtil         = coberturaUtil;
     this.msTestPlatformUtil    = msTestPlatformUtil;
     this.reportGeneratorUtil   = reportGeneratorUtil;
     this.logger        = logger;
     this.appDataFolder = appDataFolder;
     this.msCodeCoverageRunSettingsService = msCodeCoverageRunSettingsService;
 }
예제 #4
0
 public CoverageProject(IAppOptionsProvider appOptionsProvider, IFileSynchronizationUtil fileSynchronizationUtil, ILogger logger, DTE dte, bool canUseMsBuildWorkspace)
 {
     this.appOptionsProvider      = appOptionsProvider;
     this.fileSynchronizationUtil = fileSynchronizationUtil;
     this.logger = logger;
     this.dte    = dte;
     this.canUseMsBuildWorkspace = canUseMsBuildWorkspace;
 }
        public CoverageLineMarkTaggerProvider(
            IEventAggregator eventAggregator,
            IAppOptionsProvider appOptionsProvider
            ) : base(eventAggregator)
        {
            var appOptions = appOptionsProvider.Get();

            coverageMarginOptions              = CoverageMarginOptions.Create(appOptions);
            appOptionsProvider.OptionsChanged += AppOptionsProvider_OptionsChanged;
        }
예제 #6
0
 public CoverageProjectSettingsManager(
     IAppOptionsProvider appOptionsProvider,
     ICoverageProjectSettingsProvider coverageProjectSettingsProvider,
     IFCCSettingsFilesProvider fccSettingsFilesProvider,
     ISettingsMerger settingsMerger
     )
 {
     this.appOptionsProvider = appOptionsProvider;
     this.coverageProjectSettingsProvider = coverageProjectSettingsProvider;
     this.fccSettingsFilesProvider        = fccSettingsFilesProvider;
     this.settingsMerger = settingsMerger;
 }
        public CoverageColorProvider(
            [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider,
            IAppOptionsProvider appOptionsProvider,
            ILogger logger
            )
        {
            lazyIVsFontAndColorStorage = new AsyncLazy <IVsFontAndColorStorage>(async() =>
            {
                await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
                return((IVsFontAndColorStorage)serviceProvider.GetService(typeof(IVsFontAndColorStorage)));
            }, ThreadHelper.JoinableTaskFactory);

            coverageColoursFromFontsAndColours = appOptionsProvider.Get().CoverageColoursFromFontsAndColours;
            appOptionsProvider.OptionsChanged += AppOptionsProvider_OptionsChanged;
            this.logger = logger;
            DetermineColors();
        }
 public CoverageProjectFactory(
     IAppOptionsProvider appOptionsProvider,
     IFileSynchronizationUtil fileSynchronizationUtil,
     ILogger logger,
     [Import(typeof(SVsServiceProvider))]
     IServiceProvider serviceProvider)
 {
     this.appOptionsProvider      = appOptionsProvider;
     this.fileSynchronizationUtil = fileSynchronizationUtil;
     this.logger = logger;
     // todo - when debugging we are on the main thread - to determine does vs satisfy imports on the main thread ?
     // if so could change the code below
     ThreadHelper.JoinableTaskFactory.Run(async() =>
     {
         await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
         dte = (DTE)serviceProvider.GetService(typeof(DTE));
     });
 }
예제 #9
0
        public CoverageProjectFactory(
            IAppOptionsProvider appOptionsProvider,
            IFileSynchronizationUtil fileSynchronizationUtil,
            ILogger logger,
            ICoverageProjectSettingsManager coverageProjectSettingsManager,
            [Import(typeof(SVsServiceProvider))]
            IServiceProvider serviceProvider)
        {
            this.appOptionsProvider      = appOptionsProvider;
            this.fileSynchronizationUtil = fileSynchronizationUtil;
            this.logger = logger;
            this.coverageProjectSettingsManager = coverageProjectSettingsManager;

            lazyDTE2 = new AsyncLazy <DTE2>(async() =>
            {
                await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
                return((DTE2)serviceProvider.GetService(typeof(DTE)));
            }, ThreadHelper.JoinableTaskFactory);
        }
        public TestContainerDiscoverer
        (
            [Import(typeof(IOperationState))]
            IOperationState operationState,

            IFCCEngine fccEngine,
            IInitializer initializer,
            ITestOperationFactory testOperationFactory,
            ILogger logger,
            IAppOptionsProvider appOptionsProvider,
            IReportGeneratorUtil reportGeneratorUtil,
            IDisposeAwareTaskRunner disposeAwareTaskRunner,
            IMsCodeCoverageRunSettingsService msCodeCoverageRunSettingsService

        )
        {
            this.appOptionsProvider  = appOptionsProvider;
            this.reportGeneratorUtil = reportGeneratorUtil;
            this.msCodeCoverageRunSettingsService = msCodeCoverageRunSettingsService;
            this.fccEngine            = fccEngine;
            this.testOperationFactory = testOperationFactory;
            this.logger = logger;
            testOperationStateChangeHandlers = new Dictionary <TestOperationStates, Func <IOperation, Task> >
            {
                { TestOperationStates.TestExecutionCanceling, TestExecutionCancellingAsync },
                { TestOperationStates.TestExecutionStarting, TestExecutionStartingAsync },
                { TestOperationStates.TestExecutionFinished, TestExecutionFinishedAsync },
                { TestOperationStates.TestExecutionCancelAndFinished, TestExecutionCancelAndFinishedAsync },
            };

            disposeAwareTaskRunner.RunAsync(() =>
            {
                initializeTask = Task.Run(async() =>
                {
                    operationState.StateChanged += OperationState_StateChanged;
                    await initializer.InitializeAsync(disposeAwareTaskRunner.DisposalToken);
                });
                return(initializeTask);
            });
        }
예제 #11
0
 public MsCodeCoverageRunSettingsService(
     IToolFolder toolFolder,
     IToolZipProvider toolZipProvider,
     IAppOptionsProvider appOptionsProvider,
     ICoverageToolOutputManager coverageOutputManager,
     IUserRunSettingsService userRunSettingsService,
     ITemplatedRunSettingsService templatedRunSettingsService,
     IShimCopier shimCopier,
     ILogger logger,
     IReportGeneratorUtil reportGeneratorUtil
     )
 {
     this.toolFolder            = toolFolder;
     this.toolZipProvider       = toolZipProvider;
     this.appOptionsProvider    = appOptionsProvider;
     this.coverageOutputManager = coverageOutputManager;
     this.shimCopier            = shimCopier;
     this.logger = logger;
     this.reportGeneratorUtil         = reportGeneratorUtil;
     this.userRunSettingsService      = userRunSettingsService;
     this.templatedRunSettingsService = templatedRunSettingsService;
 }
예제 #12
0
 public AppDataFolder(ILogger logger, IEnvironmentVariable environmentVariable, IAppOptionsProvider appOptionsProvider)
 {
     this.logger = logger;
     this.environmentVariable = environmentVariable;
     this.appOptionsProvider  = appOptionsProvider;
 }
 public AppOptionsCoverageToolOutputFolderSolutionProvider(IAppOptionsProvider appOptionsProvider)
 {
     this.appOptionsProvider = appOptionsProvider;
 }