protected override void Initialize()
        {
            base.Initialize();

            var componentModel = (IComponentModel)GetGlobalService(typeof(SComponentModel));

            _globalRunSettings = componentModel.GetService <IGlobalRunSettingsInternal>();

            _generalOptions         = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            _parallelizationOptions = (ParallelizationOptionsDialogPage)GetDialogPage(typeof(ParallelizationOptionsDialogPage));
            _googleTestOptions      = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            _globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            _generalOptions.PropertyChanged         += OptionsChanged;
            _parallelizationOptions.PropertyChanged += OptionsChanged;
            _googleTestOptions.PropertyChanged      += OptionsChanged;

            SwitchCatchExceptionsOptionCommand.Initialize(this);
            SwitchBreakOnFailureOptionCommand.Initialize(this);
            SwitchParallelExecutionOptionCommand.Initialize(this);
            SwitchPrintTestOutputOptionCommand.Initialize(this);

            var thread = new Thread(DisplayReleaseNotesIfNecessary);

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }
Beispiel #2
0
        private void InitializeOptions()
        {
            _generalOptions       = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            _testDiscoveryOptions =
                (TestDiscoveryOptionsDialogPage)GetDialogPage(typeof(TestDiscoveryOptionsDialogPage));
            _testExecutionOptions =
                (TestExecutionOptionsDialogPage)GetDialogPage(typeof(TestExecutionOptionsDialogPage));
            _googleTestOptions = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            var optionsUpdater = new OptionsUpdater(_testDiscoveryOptions, _testExecutionOptions, _generalOptions, new ActivityLogLogger(this, () => OutputMode.Verbose));

            if (optionsUpdater.UpdateIfNecessary())
            {
                _testDiscoveryOptions.SaveSettingsToStorage();
                _testExecutionOptions.SaveSettingsToStorage();
                _generalOptions.SaveSettingsToStorage();
            }

            _globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            _generalOptions.PropertyChanged       += OptionsChanged;
            _testDiscoveryOptions.PropertyChanged += OptionsChanged;
            _testExecutionOptions.PropertyChanged += OptionsChanged;
            _googleTestOptions.PropertyChanged    += OptionsChanged;
        }
Beispiel #3
0
 public OptionsUpdater(
     TestDiscoveryOptionsDialogPage testDiscoveryOptions,
     TestExecutionOptionsDialogPage testExecutionOptions,
     GeneralOptionsDialogPage generalOptions,
     ILogger logger)
 {
     _testDiscoveryOptions = testDiscoveryOptions;
     _testExecutionOptions = testExecutionOptions;
     _generalOptions       = generalOptions;
     _logger = logger;
 }
        private void InitializeOptions()
        {
            _generalOptions         = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            _parallelizationOptions =
                (ParallelizationOptionsDialogPage)GetDialogPage(typeof(ParallelizationOptionsDialogPage));
            _googleTestOptions = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            _globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            _generalOptions.PropertyChanged         += OptionsChanged;
            _parallelizationOptions.PropertyChanged += OptionsChanged;
            _googleTestOptions.PropertyChanged      += OptionsChanged;
        }
Beispiel #5
0
        private static void ConfigureSiteMock(GeneralOptionsDialogPage testSubject, ISonarLintSettings settings, ISonarLintDaemon daemon)
        {
            var mefHostMock = new Mock <IComponentModel>();

            mefHostMock.Setup(m => m.GetExtensions <ISonarLintDaemon>()).Returns(() => new[] { daemon });
            mefHostMock.Setup(m => m.GetExtensions <ISonarLintSettings>()).Returns(() => new[] { settings });

            var siteMock = new Mock <ISite>();

            siteMock.As <IServiceProvider>().Setup(m => m.GetService(It.Is <Type>(t => t == typeof(SComponentModel)))).Returns(mefHostMock.Object);

            testSubject.Site = siteMock.Object;
        }
Beispiel #6
0
        private static void ConfigureSiteMock(GeneralOptionsDialogPage testSubject,
                                              ISonarLintSettings settings        = null,
                                              IVsBrowserService vsBrowserService = null)
        {
            settings ??= new ConfigurableSonarLintSettings();
            vsBrowserService ??= new Mock <IVsBrowserService>().Object;

            var mefHostMock = new Mock <IComponentModel>();

            mefHostMock.Setup(m => m.GetExtensions <ISonarLintSettings>()).Returns(() => new[] { settings });
            mefHostMock.Setup(m => m.GetExtensions <ILogger>()).Returns(() => new[] { new TestLogger() });
            mefHostMock.Setup(m => m.GetExtensions <IUserSettingsProvider>()).Returns(() => new[] { new Mock <IUserSettingsProvider>().Object });
            mefHostMock.Setup(m => m.GetExtensions <IVsBrowserService>()).Returns(() => new[] { vsBrowserService });

            var siteMock = new Mock <ISite>();

            siteMock.As <IServiceProvider>().Setup(m => m.GetService(It.Is <Type>(t => t == typeof(SComponentModel)))).Returns(mefHostMock.Object);

            testSubject.Site = siteMock.Object;
        }
Beispiel #7
0
        protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress <ServiceProgressData> progress)
        {
            await base.InitializeAsync(cancellationToken, progress);

            var componentModel = await GetServiceAsync(typeof(SComponentModel)) as IComponentModel;

            _globalRunSettings = componentModel.GetService <IGlobalRunSettingsInternal>();

            await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);

            _generalOptions         = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            _parallelizationOptions = (ParallelizationOptionsDialogPage)GetDialogPage(typeof(ParallelizationOptionsDialogPage));
            _googleTestOptions      = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            _globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            _generalOptions.PropertyChanged         += OptionsChanged;
            _parallelizationOptions.PropertyChanged += OptionsChanged;
            _googleTestOptions.PropertyChanged      += OptionsChanged;

            SwitchCatchExceptionsOptionCommand.Initialize(this);
            SwitchBreakOnFailureOptionCommand.Initialize(this);
            SwitchParallelExecutionOptionCommand.Initialize(this);
            SwitchPrintTestOutputOptionCommand.Initialize(this);

            DisplayReleaseNotesIfNecessary();

            var logger           = new ActivityLogLogger(this, () => _generalOptions.DebugMode);
            var debuggerAttacher = new VsDebuggerAttacher(this);

            _debuggerAttacherServiceHost = new DebuggerAttacherServiceHost(_debuggingNamedPipeId, debuggerAttacher, logger);
            try
            {
                _debuggerAttacherServiceHost.Open();
            }
            catch (CommunicationException)
            {
                _debuggerAttacherServiceHost.Abort();
                _debuggerAttacherServiceHost = null;
            }
        }
        protected override void Initialize()
        {
            base.Initialize();

            var componentModel = (IComponentModel)GetGlobalService(typeof(SComponentModel));

            _globalRunSettings = componentModel.GetService <IGlobalRunSettingsInternal>();

            _generalOptions         = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            _parallelizationOptions = (ParallelizationOptionsDialogPage)GetDialogPage(typeof(ParallelizationOptionsDialogPage));
            _googleTestOptions      = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            _globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            _generalOptions.PropertyChanged         += OptionsChanged;
            _parallelizationOptions.PropertyChanged += OptionsChanged;
            _googleTestOptions.PropertyChanged      += OptionsChanged;

            SwitchCatchExceptionsOptionCommand.Initialize(this);
            SwitchBreakOnFailureOptionCommand.Initialize(this);
            SwitchParallelExecutionOptionCommand.Initialize(this);
            SwitchPrintTestOutputOptionCommand.Initialize(this);

            DisplayReleaseNotesIfNecessary();

            var logger           = new ActivityLogLogger(this, () => _generalOptions.DebugMode);
            var debuggerAttacher = new VsDebuggerAttacher(this);

            _debuggerAttacherServiceHost = new DebuggerAttacherServiceHost(_debuggingNamedPipeId, debuggerAttacher, logger);
            try
            {
                _debuggerAttacherServiceHost.Open();
            }
            catch (CommunicationException)
            {
                _debuggerAttacherServiceHost.Abort();
                _debuggerAttacherServiceHost = null;
            }
        }
Beispiel #9
0
        protected override void Initialize()
        {
            base.Initialize();

            var componentModel = (IComponentModel)GetGlobalService(typeof(SComponentModel));

            globalRunSettings = componentModel.GetService <IGlobalRunSettingsInternal>();

            generalOptions         = (GeneralOptionsDialogPage)GetDialogPage(typeof(GeneralOptionsDialogPage));
            parallelizationOptions = (ParallelizationOptionsDialogPage)GetDialogPage(typeof(ParallelizationOptionsDialogPage));
            googleTestOptions      = (GoogleTestOptionsDialogPage)GetDialogPage(typeof(GoogleTestOptionsDialogPage));

            globalRunSettings.RunSettings = GetRunSettingsFromOptionPages();

            generalOptions.PropertyChanged         += OptionsChanged;
            parallelizationOptions.PropertyChanged += OptionsChanged;
            googleTestOptions.PropertyChanged      += OptionsChanged;

            SwitchCatchExceptionsOptionCommand.Initialize(this);
            SwitchBreakOnFailureOptionCommand.Initialize(this);
            SwitchParallelExecutionOptionCommand.Initialize(this);
            SwitchPrintTestOutputOptionCommand.Initialize(this);
        }