Example #1
0
        public static void VerifyNoExceptionThrown(string path, IEnumerable <DiagnosticAnalyzer> diagnosticAnalyzers)
        {
            var compilation = SolutionBuilder
                              .Create()
                              .AddProject(AnalyzerLanguage.FromPath(path))
                              .AddDocument(path)
                              .GetCompilation();

            var diagnostics = DiagnosticVerifier.GetAllDiagnostics(compilation, diagnosticAnalyzers);
        }
        private bool ExecuteAnalyzerWithTimeout(Compilation compilation, SonarDiagnosticAnalyzer analyzer, int timeoutMs)
        {
            var cancellationSource = new CancellationTokenSource(timeoutMs);

            try
            {
                DiagnosticVerifier.GetAllDiagnostics(compilation, new[] { analyzer }, CompilationErrorBehavior.FailTest, cancellationSource.Token);
            }
            catch (AggregateException ex)
            {
                if (ex.InnerExceptions.Any(x => x is OperationCanceledException))
                {
                    return(false);
                }
                throw ex;
            }
            return(true);
        }