Exemple #1
0
        protected override void DoTest(IProject project)
        {
            var swea = SolutionAnalysisService.GetInstance(Solution);

            #if RIDER
            using (TestPresentationMap.Cookie())
            #else
            using (new TestPresentationMap())
            #endif
                using (TestPsiConfigurationSettings.Instance.PersistCachesCookie())
                    using (swea.RunAnalysisCookie())
                    {
                        Lifetimes.Using(lifetime =>
                        {
                            ChangeSettingsTemporarily(lifetime).BoundStore.SetValue(HighlightingSettingsAccessor.AnalysisEnabled, AnalysisScope.SOLUTION);

                            var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList();
                            foreach (var file in files)
                            {
                                swea.AnalyzeInvisibleFile(file);
                            }

                            ExecuteWithGold(writer =>
                            {
                                var highlightingSettingsManager = HighlightingSettingsManager.Instance;
                                foreach (var file in files)
                                {
                                    if (file.LanguageType.IsNullOrUnknown())
                                    {
                                        continue;
                                    }
                                    var pf = file.ToProjectFile();
                                    if (pf == null)
                                    {
                                        continue;
                                    }
                                    if (!pf.Location.Name.EndsWith(".cs"))
                                    {
                                        continue;
                                    }

                                    var process = new TestHighlightingDumper(file, writer,
                                                                             DaemonStageManager.GetInstance(Solution).Stages,
                                                                             (highlighting, settingsStore) =>
                                    {
                                        var attribute = highlightingSettingsManager.GetHighlightingAttribute(highlighting);
                                        return(highlightingSettingsManager.GetSeverity(highlighting, settingsStore) !=
                                               Severity.INFO || attribute.OverlapResolve != OverlapResolveKind.NONE);
                                    },
                                                                             CSharpLanguage.Instance);
                                    process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT);
                                    process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS);
                                    process.Dump();
                                    writer.WriteLine();
                                }
                            });
                        });
                    }
        }
Exemple #2
0
        protected override IReadOnlyCollection <IDaemonStage> GetActiveStages(ISolution solution)
        {
            var stageManager = DaemonStageManager.GetInstance(solution);

            return(stageManager.Stages
                   .Where(stage => stage is InterproceduralDaemonStage ||
                          stage is TaintedSinksHighlighterDaemonStage)
                   .ToList());
        }
Exemple #3
0
        protected override void DoTest(IProject project)
        {
            var swea = SolutionAnalysisService.GetInstance(Solution);

            using (TestPresentationMap.Cookie())
                using (TestPsiConfigurationSettings.Instance.PersistCachesCookie())
                    using (swea.RunAnalysisCookie())
                    {
                        Lifetime.Using(lifetime =>
                        {
                            ChangeSettingsTemporarily(lifetime).BoundStore.SetValue(HighlightingSettingsAccessor.AnalysisEnabled, AnalysisScope.SOLUTION);

                            var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList();
                            foreach (var file in files)
                            {
                                swea.AnalyzeInvisibleFile(file);
                            }

                            ExecuteWithGold(this.TestMethodName + ".cs", writer =>
                            {
                                foreach (var file in files)
                                {
                                    if (file.LanguageType.IsNullOrUnknown())
                                    {
                                        continue;
                                    }
                                    var pf = file.ToProjectFile();
                                    if (pf == null)
                                    {
                                        continue;
                                    }
                                    if (!pf.Location.Name.EndsWith(".cs"))
                                    {
                                        continue;
                                    }

                                    var process = new TestHighlightingDumper(file, writer,
                                                                             DaemonStageManager.GetInstance(Solution).Stages,
                                                                             (highlighting, psiSourceFile, settingsStore) =>
                                    {
                                        return(highlighting is PerformanceHighlightingBase);
                                    },
                                                                             CSharpLanguage.Instance);
                                    process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT);
                                    process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS);
                                    process.Dump();
                                }
                            });
                        });
                    }
        }
 protected virtual IList <IDaemonStage> GetActiveStages(ISolution solution)
 {
     return(DaemonStageManager.GetInstance(solution).Stages);
 }
Exemple #5
0
        protected override void DoTest(Lifetime lifetime, IProject project)
        {
            var swea = SolutionAnalysisService.GetInstance(Solution);

            using (TestPresentationMap.Cookie())
                using (TestPsiConfigurationSettings.Instance.PersistCachesCookie())
                    using (swea.RunAnalysisCookie())
                    {
                        ChangeSettingsTemporarily(lifetime).BoundStore.SetValue((UnitySettings key) =>
                                                                                key.PerformanceHighlightingMode, PerformanceHighlightingMode.Always);

                        var files = swea.GetFilesToAnalyze().OrderBy(f => f.Name).ToList();
                        swea.ReanalyzeAll();

                        ExecuteWithGold(TestMethodName + ".cs", writer =>
                        {
                            foreach (var file in files)
                            {
                                if (file.LanguageType.IsNullOrUnknown())
                                {
                                    continue;
                                }
                                var pf = file.ToProjectFile();
                                if (pf == null)
                                {
                                    continue;
                                }
                                if (!pf.Location.Name.EndsWith(".cs"))
                                {
                                    continue;
                                }

                                var process = new TestHighlightingDumperWithOverridenStages(file, writer,
                                                                                            DaemonStageManager.GetInstance(Solution).Stages,
                                                                                            HighlightingPredicate,
                                                                                            CSharpLanguage.Instance);
                                process.DoHighlighting(DaemonProcessKind.VISIBLE_DOCUMENT);
                                process.DoHighlighting(DaemonProcessKind.GLOBAL_WARNINGS);
                                process.Dump();
                            }
                        });
                    }
        }