public DiffMutantFilter(StrykerOptions options, IDiffProvider diffProvider)
 {
     if (options.DiffEnabled)
     {
         _diffResult = diffProvider.ScanDiff();
     }
 }
        public DiffMutantFilter(StrykerOptions options, IDiffProvider diffProvider = null, IBaselineProvider baselineProvider = null, IGitInfoProvider gitInfoProvider = null)
        {
            _logger = ApplicationLogging.LoggerFactory.CreateLogger <DiffMutantFilter>();

            _options          = options;
            _gitInfoProvider  = gitInfoProvider ?? new GitInfoProvider(options);
            _baselineProvider = baselineProvider ?? BaselineProviderFactory.Create(options);

            if (options.CompareToDashboard)
            {
                _baseline = GetBaselineAsync().Result;
            }

            _diffResult = diffProvider.ScanDiff();

            if (_diffResult != null)
            {
                _logger.LogInformation("{0} files changed", _diffResult.ChangedSourceFiles?.Count ?? 0 + _diffResult.ChangedTestFiles?.Count ?? 0);

                if (_diffResult.ChangedSourceFiles != null)
                {
                    foreach (var changedFile in _diffResult.ChangedSourceFiles)
                    {
                        _logger.LogInformation("Changed file {0}", changedFile);
                    }
                }
                if (_diffResult.ChangedTestFiles != null)
                {
                    foreach (var changedFile in _diffResult.ChangedTestFiles)
                    {
                        _logger.LogInformation("Changed test file {0}", changedFile);
                    }
                }
            }
        }
Example #3
0
        public DiffMutantFilter(IDiffProvider diffProvider = null)
        {
            _logger = ApplicationLogging.LoggerFactory.CreateLogger <DiffMutantFilter>();

            _diffResult = diffProvider.ScanDiff();

            if (_diffResult != null)
            {
                _logger.LogInformation("{0} files changed", _diffResult.ChangedSourceFiles?.Count ?? 0 + _diffResult.ChangedTestFiles?.Count ?? 0);

                if (_diffResult.ChangedSourceFiles != null)
                {
                    foreach (var changedFile in _diffResult.ChangedSourceFiles)
                    {
                        _logger.LogInformation("Changed file {0}", changedFile);
                    }
                }
                if (_diffResult.ChangedTestFiles != null)
                {
                    foreach (var changedFile in _diffResult.ChangedTestFiles)
                    {
                        _logger.LogInformation("Changed test file {0}", changedFile);
                    }
                }
            }
        }
Example #4
0
        public static IMutantFilter Create(StrykerOptions options, IDiffProvider diffProvider = null)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _diffProvider = diffProvider ?? new GitDiffProvider(options);

            return(new BroadcastMutantFilter(DetermineEnabledMutantFilters(options)));
        }
Example #5
0
        public static IMutantFilter Create(IStrykerOptions options, IDiffProvider diffProvider = null, IBaselineProvider baselineProvider = null, IGitInfoProvider gitInfoProvider = null)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _diffProvider     = diffProvider ?? new GitDiffProvider(options);
            _baselineProvider = baselineProvider ?? BaselineProviderFactory.Create(options);
            _gitInfoProvider  = gitInfoProvider ?? new GitInfoProvider(options);

            return(new BroadcastMutantFilter(DetermineEnabledMutantFilters(options)));
        }
Example #6
0
        /// <summary>
        /// Returns an IDiffProvider given a Migration source and a Dictionary of the providers found
        /// </summary>
        private IDiffProvider GetDiffProviderForMigrationSource(
            Microsoft.TeamFoundation.Migration.BusinessModel.MigrationSource migrationSource,
            Dictionary <Guid, ProviderHandler> providerHandlers)
        {
            Guid            providerGuid     = new Guid(migrationSource.InternalUniqueId);
            ProviderHandler providerHandler  = providerHandlers[providerGuid];
            Type            diffProviderType = Session.SessionType == SessionTypeEnum.VersionControl ? typeof(IVCDiffProvider) : typeof(IWITDiffProvider);
            IDiffProvider   diffProvider     = providerHandler.Provider.GetService(diffProviderType) as IDiffProvider;

            if (diffProvider == null)
            {
                throw new Exception(string.Format(CultureInfo.InvariantCulture, ServerDiffResources.ProviderDoesNotImplementVCDiffInterface, providerHandler.ProviderName));
            }

            DiffServiceContainer = new ServiceContainer();
            DiffServiceContainer.AddService(typeof(ConfigurationService), new ConfigurationService(Config, Session, providerGuid));
            DiffServiceContainer.AddService(typeof(Session), Session);
            DiffServiceContainer.AddService(typeof(ICredentialManagementService), new CredentialManagementService(Config));

            // If this is a work item session, and the provider implements ILinkProvider, get and initialize
            // the ILinkProvider service and add it to the ServiceContainer so that the IDiffProvider implementation
            // can get and use the ILinkProvider implementation
            ILinkProvider linkProvider = null;

            if (Session.SessionType == SessionTypeEnum.WorkItemTracking)
            {
                DiffServiceContainer.AddService(typeof(ITranslationService), new WITTranslationService(Session, null));

                linkProvider = providerHandler.Provider.GetService(typeof(ILinkProvider)) as ILinkProvider;
                if (linkProvider != null)
                {
                    ServerDiffLinkTranslationService diffLinkTranslationService =
                        new ServerDiffLinkTranslationService(this, new Guid(migrationSource.InternalUniqueId), new LinkConfigurationLookupService(Config.SessionGroup.Linking));
                    DiffServiceContainer.AddService(typeof(ILinkTranslationService), diffLinkTranslationService);

                    linkProvider.Initialize(DiffServiceContainer);
                    linkProvider.RegisterSupportedLinkTypes();
                    DiffServiceContainer.AddService(typeof(ILinkProvider), linkProvider);
                    m_linkProvidersByMigrationSourceId.Add(new Guid(migrationSource.InternalUniqueId), linkProvider);
                }
            }

            diffProvider.InitializeServices(DiffServiceContainer);
            diffProvider.InitializeClient(migrationSource);

            return(diffProvider);
        }
        public DiffMutantFilter(StrykerOptions options = null, IDiffProvider diffProvider = null, IDashboardClient dashboardClient = null, IGitInfoProvider branchProvider = null)
        {
            _logger = ApplicationLogging.LoggerFactory.CreateLogger <DiffMutantFilter>();

            _dashboardClient = dashboardClient ?? new DashboardClient(options);
            _branchProvider  = branchProvider ?? new GitInfoProvider(options);
            _options         = options;

            if (options.CompareToDashboard)
            {
                _baseline = GetBaseline().Result;
            }

            _diffResult = diffProvider.ScanDiff();

            if (_diffResult != null)
            {
                _logger.LogInformation("{0} files changed", _diffResult.ChangedFiles.Count);
                foreach (var changedFile in _diffResult.ChangedFiles)
                {
                    _logger.LogInformation("Changed file {0}", changedFile);
                }
            }
        }
Example #8
0
 public DiffMutantFilter(IDiffProvider diffProvider)
 {
     _diffResult = diffProvider?.ScanDiff();
 }