Ejemplo n.º 1
0
        public bool SolutionAnalysisHasNoErrors()
        {
            bool hasErrors = false;

            _threading.Run("TestRunner", ActivateSolutionAnalysis);
            resharper::JetBrains.Threading.JetDispatcher.Run(() => !_solutionManager.AnalysisComplete, TimeSpan.MaxValue, true);
            var sw = Stopwatch.StartNew();

            do
            {
                _threading.Run("Rerun failed tests",
                               () =>
                {
#if v450
                    var action = _actionManager.GetAction(PluginManager.ACTION_REANALYZE);
#elif !v600
                    var action = _actionManager.GetUpdatableAction(PluginManager.ACTION_REANALYZE);
#else
                    var action = _actionManager.TryGetAction(PluginManager.ACTION_REANALYZE);
#endif

                    hasErrors = _actionManager.UpdateAction((ResharperUpdatableAction)action);
                    if (hasErrors)
                    {
                        _solutionManager.ReanalyzeAll();
                    }
                });
                if (hasErrors)
                {
                    resharper::JetBrains.Threading.JetDispatcher.Run(() => !_solutionManager.AnalysisComplete, TimeSpan.MaxValue, true);
                }
            } while (hasErrors && CanContinueWaiting(sw, TimeSpan.FromSeconds(60)));
            return(!hasErrors);
        }