public static void GetUnsetValuesFrom(this IGoogleTestAdapterSettings self, IGoogleTestAdapterSettings other)
        {
            self.AdditionalTestExecutionParam = self.AdditionalTestExecutionParam ?? other.AdditionalTestExecutionParam;
            self.CatchExceptions               = self.CatchExceptions ?? other.CatchExceptions;
            self.BreakOnFailure                = self.BreakOnFailure ?? other.BreakOnFailure;
            self.MaxNrOfThreads                = self.MaxNrOfThreads ?? other.MaxNrOfThreads;
            self.NrOfTestRepetitions           = self.NrOfTestRepetitions ?? other.NrOfTestRepetitions;
            self.ParallelTestExecution         = self.ParallelTestExecution ?? other.ParallelTestExecution;
            self.PrintTestOutput               = self.PrintTestOutput ?? other.PrintTestOutput;
            self.RunDisabledTests              = self.RunDisabledTests ?? other.RunDisabledTests;
            self.ShuffleTests                  = self.ShuffleTests ?? other.ShuffleTests;
            self.ShuffleTestsSeed              = self.ShuffleTestsSeed ?? other.ShuffleTestsSeed;
            self.TestDiscoveryRegex            = self.TestDiscoveryRegex ?? other.TestDiscoveryRegex;
            self.AdditionalPdbs                = self.AdditionalPdbs ?? other.AdditionalPdbs;
            self.TestDiscoveryTimeoutInSeconds = self.TestDiscoveryTimeoutInSeconds ?? other.TestDiscoveryTimeoutInSeconds;
            self.WorkingDir             = self.WorkingDir ?? other.WorkingDir;
            self.PathExtension          = self.PathExtension ?? other.PathExtension;
            self.BatchForTestSetup      = self.BatchForTestSetup ?? other.BatchForTestSetup;
            self.BatchForTestTeardown   = self.BatchForTestTeardown ?? other.BatchForTestTeardown;
            self.TraitsRegexesAfter     = self.TraitsRegexesAfter ?? other.TraitsRegexesAfter;
            self.TraitsRegexesBefore    = self.TraitsRegexesBefore ?? other.TraitsRegexesBefore;
            self.TestNameSeparator      = self.TestNameSeparator ?? other.TestNameSeparator;
            self.ParseSymbolInformation = self.ParseSymbolInformation ?? other.ParseSymbolInformation;
            self.DebugMode             = self.DebugMode ?? other.DebugMode;
            self.TimestampOutput       = self.TimestampOutput ?? other.TimestampOutput;
            self.ShowReleaseNotes      = self.ShowReleaseNotes ?? other.ShowReleaseNotes;
            self.KillProcessesOnCancel = self.KillProcessesOnCancel ?? other.KillProcessesOnCancel;
            self.SkipOriginCheck       = self.SkipOriginCheck ?? other.SkipOriginCheck;

            self.UseNewTestExecutionFramework = self.UseNewTestExecutionFramework ?? other.UseNewTestExecutionFramework;

            self.DebuggingNamedPipeId = self.DebuggingNamedPipeId ?? other.DebuggingNamedPipeId;
            self.SolutionDir          = self.SolutionDir ?? other.SolutionDir;
        }
 public SettingsWrapper(IGoogleTestAdapterSettingsContainer settingsContainer, string solutionDir = null)
 {
     _settingsContainer = settingsContainer;
     _solutionDir       = solutionDir;
     _currentSettings   = _settingsContainer.SolutionSettings;
     _settingsPrinter   = new SettingsPrinter(this);
 }
Esempio n. 3
0
 public static void GetUnsetValuesFrom(this IGoogleTestAdapterSettings self, IGoogleTestAdapterSettings other)
 {
     self.AdditionalTestExecutionParam = self.AdditionalTestExecutionParam ?? other.AdditionalTestExecutionParam;
     self.CatchExceptions        = self.CatchExceptions ?? other.CatchExceptions;
     self.BreakOnFailure         = self.BreakOnFailure ?? other.BreakOnFailure;
     self.MaxNrOfThreads         = self.MaxNrOfThreads ?? other.MaxNrOfThreads;
     self.NrOfTestRepetitions    = self.NrOfTestRepetitions ?? other.NrOfTestRepetitions;
     self.ParallelTestExecution  = self.ParallelTestExecution ?? other.ParallelTestExecution;
     self.PrintTestOutput        = self.PrintTestOutput ?? other.PrintTestOutput;
     self.RunDisabledTests       = self.RunDisabledTests ?? other.RunDisabledTests;
     self.ShuffleTests           = self.ShuffleTests ?? other.ShuffleTests;
     self.ShuffleTestsSeed       = self.ShuffleTestsSeed ?? other.ShuffleTestsSeed;
     self.TestDiscoveryRegex     = self.TestDiscoveryRegex ?? other.TestDiscoveryRegex;
     self.WorkingDir             = self.WorkingDir ?? other.WorkingDir;
     self.PathExtension          = self.PathExtension ?? other.PathExtension;
     self.BatchForTestSetup      = self.BatchForTestSetup ?? other.BatchForTestSetup;
     self.BatchForTestTeardown   = self.BatchForTestTeardown ?? other.BatchForTestTeardown;
     self.TraitsRegexesAfter     = self.TraitsRegexesAfter ?? other.TraitsRegexesAfter;
     self.TraitsRegexesBefore    = self.TraitsRegexesBefore ?? other.TraitsRegexesBefore;
     self.TestNameSeparator      = self.TestNameSeparator ?? other.TestNameSeparator;
     self.ParseSymbolInformation = self.ParseSymbolInformation ?? other.ParseSymbolInformation;
     self.DebugMode        = self.DebugMode ?? other.DebugMode;
     self.TimestampOutput  = self.TimestampOutput ?? other.TimestampOutput;
     self.ShowReleaseNotes = self.ShowReleaseNotes ?? other.ShowReleaseNotes;
 }
 public static void GetUnsetValuesFrom(this IGoogleTestAdapterSettings self, IGoogleTestAdapterSettings other)
 {
     self.AdditionalTestExecutionParam = self.AdditionalTestExecutionParam ?? other.AdditionalTestExecutionParam;
     self.CatchExceptions = self.CatchExceptions ?? other.CatchExceptions;
     self.BreakOnFailure = self.BreakOnFailure ?? other.BreakOnFailure;
     self.MaxNrOfThreads = self.MaxNrOfThreads ?? other.MaxNrOfThreads;
     self.NrOfTestRepetitions = self.NrOfTestRepetitions ?? other.NrOfTestRepetitions;
     self.ParallelTestExecution = self.ParallelTestExecution ?? other.ParallelTestExecution;
     self.PrintTestOutput = self.PrintTestOutput ?? other.PrintTestOutput;
     self.RunDisabledTests = self.RunDisabledTests ?? other.RunDisabledTests;
     self.ShuffleTests = self.ShuffleTests ?? other.ShuffleTests;
     self.ShuffleTestsSeed = self.ShuffleTestsSeed ?? other.ShuffleTestsSeed;
     self.TestDiscoveryRegex = self.TestDiscoveryRegex ?? other.TestDiscoveryRegex;
     self.WorkingDir = self.WorkingDir ?? other.WorkingDir;
     self.PathExtension = self.PathExtension ?? other.PathExtension;
     self.BatchForTestSetup = self.BatchForTestSetup ?? other.BatchForTestSetup;
     self.BatchForTestTeardown = self.BatchForTestTeardown ?? other.BatchForTestTeardown;
     self.TraitsRegexesAfter = self.TraitsRegexesAfter ?? other.TraitsRegexesAfter;
     self.TraitsRegexesBefore = self.TraitsRegexesBefore ?? other.TraitsRegexesBefore;
     self.TestNameSeparator = self.TestNameSeparator ?? other.TestNameSeparator;
     self.ParseSymbolInformation = self.ParseSymbolInformation ?? other.ParseSymbolInformation;
     self.DebugMode = self.DebugMode ?? other.DebugMode;
     self.TimestampOutput = self.TimestampOutput ?? other.TimestampOutput;
     self.ShowReleaseNotes = self.ShowReleaseNotes ?? other.ShowReleaseNotes;
 }
        public void ExecuteWithSettingsForExecutable(string executable, Action action, ILogger logger)
        {
            lock (_lock)
            {
                CheckCorrectUsage(executable);

                _nrOfRunningExecutions++;
                if (_nrOfRunningExecutions == 1)
                {
                    _currentExecutable = executable;
                    _currentThread = Thread.CurrentThread;

                    var projectSettings = _settingsContainer.GetSettingsForExecutable(executable);
                    if (projectSettings != null)
                    {
                        _currentSettings = projectSettings;
                        string settingsString = ToString();
                        _currentSettings = _settingsContainer.SolutionSettings;
                        logger.DebugInfo(String.Format(Resources.SettingsMessage, executable, settingsString));

                        _currentSettings = projectSettings;
                    }
                    else
                    {
                        logger.DebugInfo(String.Format(Resources.NoSettingConfigured, executable, this));
                    }
                }

            }

            try
            {
                action.Invoke();
            }
            finally
            {
                lock (_lock)
                {
                    _nrOfRunningExecutions--;
                    if (_nrOfRunningExecutions == 0)
                    {
                        _currentExecutable = null;
                        _currentThread = null;
                        if (_currentSettings != _settingsContainer.SolutionSettings)
                        {
                            _currentSettings = _settingsContainer.SolutionSettings;
                            logger.DebugInfo(String.Format(Resources.RestoringSolutionSettings, this));
                        }
                    }
                }
            }
        }
        public void ExecuteWithSettingsForExecutable(string executable, Action action, ILogger logger)
        {
            lock (_lock)
            {
                CheckCorrectUsage(executable);

                _nrOfRunningExecutions++;
                if (_nrOfRunningExecutions == 1)
                {
                    _currentExecutable = executable;
                    _currentThread     = Thread.CurrentThread;

                    var projectSettings = _settingsContainer.GetSettingsForExecutable(executable);
                    if (projectSettings != null)
                    {
                        _currentSettings = projectSettings;
                        string settingsString = ToString();
                        _currentSettings = _settingsContainer.SolutionSettings;
                        logger.DebugInfo($"Settings for test executable '{executable}': {settingsString}");

                        _currentSettings = projectSettings;
                    }
                    else
                    {
                        logger.DebugInfo($"No settings configured for test executable '{executable}'; running with solution settings: {this}");
                    }
                }
            }

            try
            {
                action.Invoke();
            }
            finally
            {
                lock (_lock)
                {
                    _nrOfRunningExecutions--;
                    if (_nrOfRunningExecutions == 0)
                    {
                        _currentExecutable = null;
                        _currentThread     = null;
                        if (_currentSettings != _settingsContainer.SolutionSettings)
                        {
                            _currentSettings = _settingsContainer.SolutionSettings;
                            logger.DebugInfo($"Back to solution settings: {this}");
                        }
                    }
                }
            }
        }
Esempio n. 7
0
        public void ExecuteWithSettingsForExecutable(string executable, Action action, ILogger logger)
        {
            var formerSettings = _currentSettings;

            try
            {
                _currentSettings = _settingsContainer.GetSettingsForExecutable(executable);
                logger.DebugInfo($"Settings for test executable '{executable}': {this}");

                action.Invoke();
            }
            finally
            {
                _currentSettings = formerSettings;
                logger.DebugInfo($"Back to solution settings: {this}");
            }
        }
 public SettingsWrapper(IGoogleTestAdapterSettingsContainer settingsContainer)
 {
     _settingsContainer = settingsContainer;
     _currentSettings   = _settingsContainer.SolutionSettings;
 }
Esempio n. 9
0
 public SettingsWrapper(IGoogleTestAdapterSettings settings)
 {
     _theSettings = settings;
 }
 public SettingsWrapper(IGoogleTestAdapterSettings settings)
 {
     _theSettings = settings;
 }