114 references to DiagnosticTextSanitizer
AnalyzeCiFailure (103)
AnalysisCommands.cs (1)
270Console.WriteLine($"::error::{CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 1000))}");
AnalysisDiagnostics.cs (5)
96var text = CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(message, limit: 1000)) 155["detail"] = DiagnosticTextSanitizer.SanitizeJson(CiFailureJson.ToNode(detail), limit: 500, multiline: true), 173var outcome = DiagnosticTextSanitizer.SanitizeJson(JsonNode.Parse(TransientJson.Write(progress.CreateOutcome(status))), limit: 500, multiline: true)!; 218["message"] = DiagnosticTextSanitizer.Sanitize(error.Message, limit: 500, multiline: true), 219["stack_trace"] = DiagnosticTextSanitizer.Sanitize(error.StackTrace ?? "", limit: 8000, multiline: true),
AnalysisInvocation.cs (1)
69Console.Error.WriteLine($"::error::Unable to retain analysis diagnostics: {CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(error.Message, limit: 500))}");
AnalysisPublisher.cs (1)
363var storedJob = DiagnosticTextSanitizer.Sanitize(Text(occurrence["job"]) ?? "");
AnalysisPublisher.Overflow.cs (4)
98var title = MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(Text(item.History["title"]) ?? item.Cause.Id, limit: 238)); 100var diagnostic = DiagnosticTextSanitizer.Sanitize(Text(item.History["error_pattern"]) ?? "", limit: 500); 114var storedJobs = DiagnosticTextSanitizer.Sanitize(Text(occurrence?["job"]) ?? ""); 130var name = MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(job.Name, limit: 500));
AnalysisRerunner.cs (3)
91Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 500))); 103Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 500))); 127Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 500)));
AnalysisValidator.cs (5)
65var jobs = evidence.Jobs.Select(job => new FailedJob(Id(job.Id), Decimal(job.Id), DiagnosticTextSanitizer.Sanitize(job.Name, limit: 500))).ToImmutableArray(); 215var title = DiagnosticTextSanitizer.Sanitize(proposedDefinition.Title); 216var pattern = DiagnosticTextSanitizer.Sanitize(proposedDefinition.ErrorPattern, multiline: true); 319? DiagnosticTextSanitizer.Sanitize(value, limit: 500) 343evidence.Jobs.Select(job => job with { Name = DiagnosticTextSanitizer.Sanitize(job.Name!, limit: 500) }),
CauseHistoryStore.cs (1)
31throw new ValidationException($"Unable to load CI failure history: {CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(reference.Error, limit: 4096))}");
CauseIssueRenderer.cs (12)
25var safe = names.Select(name => DiagnosticTextSanitizer.Sanitize(name, limit: 500)).ToArray(); 40cause = (JsonObject)DiagnosticTextSanitizer.SanitizeCause(cause)!; 44var title = DiagnosticTextSanitizer.Sanitize(Text(cause["title"]) ?? "", limit: 238); 45var test = DiagnosticTextSanitizer.Sanitize(Text(cause["test_name"]) ?? "", limit: 500); 69.Append(MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(evidence.TriggeringMerge.Title ?? "", limit: 238))).Append('\n'); 87: DiagnosticTextSanitizer.Sanitize(error, limit: 500, multiline: true); 163var row = $"- {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(Text(t["name"])!, limit: 500))} — job {GetValueText(t["job_id"])} ({MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(Text(t["job"])!, limit: 500))})"; 166row += $" — {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(observation, limit: 100))}, result {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(Text(t["result_file"]) ?? "", limit: 500))}"; 169row += $", execution {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(execution, limit: 500))}"; 177row += $"\n\n {field}:\n\n" + MarkdownFormatting.Indent(DiagnosticTextSanitizer.Sanitize(diagnostic, limit: 4000, multiline: true), spaces: 8);
EvidencePreparation.cs (3)
59CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(error.Message, limit: 1000))); 278Console.Error.WriteLine($"::error::{Display(DiagnosticTextSanitizer.Sanitize(message, limit: 1000))}"); 288Console.Error.WriteLine($"::error::Unable to finalize workflow failure: {Display(DiagnosticTextSanitizer.Sanitize(finalization.Message, limit: 500))}");
GitHubActionsIntegration.cs (3)
67$"(collection status: {Display(DiagnosticTextSanitizer.Sanitize(collectionStatus ?? "", limit: 100))}; " + 68$"collection result: {Display(DiagnosticTextSanitizer.Sanitize(collectionResult ?? "", limit: 100))}; " + 69$"publication result: {Display(DiagnosticTextSanitizer.Sanitize(publicationResult ?? "", limit: 100))}). Check the collection and publication logs.");
Infrastructure\AnalysisGitHubClient.cs (1)
41$"page {pageNumber}, row {rowNumber} for {CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(endpoint, limit: 200))}");
Infrastructure\AnalyzerCommandExecutor.cs (1)
34throw new ValidationException($"{executable} failed ({result.ExitCode}): {CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(result.Error, limit: 4096))}");
Models\CollectionModels.cs (1)
72Message = CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(message, limit: 500)),
PrCommentRenderer.cs (8)
19var jobs = collectedJobs.Select(job => job with { Name = DiagnosticTextSanitizer.Sanitize(job.Name!, limit: 500) }).ToArray(); 27return $"- {MarkdownFormatting.CodeSpan(job.Name!)} — {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(proposal.Reason ?? "", limit: 500))} ({classification})"; 31var job = jobs.FirstOrDefault(j => j.Name == DiagnosticTextSanitizer.Sanitize(test.Job ?? "", limit: 500)); 32var text = $"- {MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(test.Name ?? "", limit: 500))}" + 34"\n - **Error**:\n\n" + MarkdownFormatting.Indent(DiagnosticTextSanitizer.Sanitize(test.Error ?? "", limit: 1000, multiline: true), spaces: 8) + "\n"; 35var stack = DiagnosticTextSanitizer.Sanitize(test.StackTrace ?? "", limit: 2000, multiline: true); 42var diagnostic = DiagnosticTextSanitizer.Sanitize(value ?? "", limit: 4000, multiline: true); 49return text + " - **Why likely flaky**: " + MarkdownFormatting.CodeSpan(DiagnosticTextSanitizer.Sanitize(test.Reason ?? "", limit: 500));
PriorCauseCatalogue.cs (6)
45Title = DiagnosticTextSanitizer.Sanitize(cause.Title ?? id, limit: 238), 46TestName = cause.TestName is { } label ? DiagnosticTextSanitizer.Sanitize(label, limit: 500) : null, 47IssueUrl = cause.IssueUrl is { } url ? DiagnosticTextSanitizer.Sanitize(url, limit: 500) : null, 48ErrorPattern = DiagnosticTextSanitizer.Sanitize(cause.ErrorPattern ?? "", limit: 500, multiline: true), 51.Order(StringComparer.Ordinal).LastOrDefault() is { } last ? DiagnosticTextSanitizer.Sanitize(last, limit: 500) : null, 61ReadError = "Cannot summarize prior cause record: " + CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 500)),
PublicationEvidenceProjection.cs (7)
14var jobs = evidence.Jobs.ToDictionary(job => job.Id, job => DiagnosticTextSanitizer.Sanitize(job.Name, limit: 500)); 20DisplayName = DiagnosticTextSanitizer.Sanitize(test.DisplayName, limit: 500), 24Error = DiagnosticTextSanitizer.Sanitize(test.Diagnostics.Error, limit: 1000, multiline: true), 25StackTrace = DiagnosticTextSanitizer.Sanitize(test.Diagnostics.StackTrace, limit: 2000, multiline: true), 26StandardOutput = DiagnosticTextSanitizer.Sanitize(test.Diagnostics.StandardOutput, limit: 4000, multiline: true), 27StandardError = DiagnosticTextSanitizer.Sanitize(test.Diagnostics.StandardError, limit: 4000, multiline: true), 33? DiagnosticTextSanitizer.Sanitize(execution, limit: 500) : null,
RecoveryCaptureWriter.cs (5)
43CiFailureJson.Serialize(DiagnosticTextSanitizer.SanitizeJson(value, MaximumFileBytes, multiline: true)), 55CiFailureJson.Serialize(DiagnosticTextSanitizer.SanitizeJson(diagnostic, MaximumFileBytes, multiline: true)), 71DiagnosticTextSanitizer.Sanitize(value.Text, MaximumFileBytes, multiline: true), 91DiagnosticTextSanitizer.Sanitize(await File.ReadAllTextAsync(file), MaximumFileBytes, multiline: true), 112DiagnosticTextSanitizer.Sanitize(await File.ReadAllTextAsync(file), MaximumFileBytes, multiline: true),
RunSummaryBuilder.cs (3)
22var jobs = evidence.Jobs.Select(job => job with { Name = DiagnosticTextSanitizer.Sanitize(job.Name!, limit: 500) }).ToArray(); 95Name = DiagnosticTextSanitizer.Sanitize(test.DisplayName ?? test.Name ?? "", limit: 500), 122=> DiagnosticTextSanitizer.SanitizeRunMetadata(value ?? "", limit);
TestFailureReader.cs (14)
60$"'{CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(artifact.JobName, limit: 500))}', but found {producingJobs.Length}. " + 61$"artifact='{CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(artifact.Artifact.Name ?? "", limit: 100))}'"); 139if (string.IsNullOrEmpty(name) || DiagnosticTextSanitizer.Sanitize(name).Length == 0) 161CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(ex.GetBaseException().Message, limit: 160)), 184if (string.IsNullOrEmpty(input.Name) || DiagnosticTextSanitizer.Sanitize(input.Name).Length == 0) 187$"job={input.JobId} artifact={source.ArtifactId} file={CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(source.ResultFile, limit: 80))}"); 198$"job={input.JobId} execution='{CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(execution, limit: 80))}' " + 200$"test='{CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(input.Name, limit: 80))}'"); 213.ThenBy(item => DiagnosticTextSanitizer.Sanitize(item.Raw.JobName, limit: 500), StringComparer.Ordinal) 219DisplayName = DiagnosticTextSanitizer.Sanitize(item.Raw.Name, limit: 500), 222Error = DiagnosticTextSanitizer.Sanitize(item.Raw.Diagnostics.Error, limit: 1000, multiline: true), 223StackTrace = DiagnosticTextSanitizer.Sanitize(item.Raw.Diagnostics.StackTrace, limit: 2000, multiline: true), 224StandardOutput = DiagnosticTextSanitizer.Sanitize(item.Raw.Diagnostics.StandardOutput, limit: 4000, multiline: true), 225StandardError = DiagnosticTextSanitizer.Sanitize(item.Raw.Diagnostics.StandardError, limit: 4000, multiline: true),
TestResultArtifacts.cs (4)
142$"id={Display(DiagnosticTextSanitizer.Sanitize(GetValueText(invalid.Artifact.Id), limit: 40))} " + 143$"size={Display(DiagnosticTextSanitizer.Sanitize(GetValueText(invalid.Artifact.SizeInBytes), limit: 40))} limit={maxArtifactBytes}"); 178=> $"job='{Display(DiagnosticTextSanitizer.Sanitize(job.JobName, limit: 80))}' " + 179$"artifact='{Display(DiagnosticTextSanitizer.Sanitize(job.ArtifactName, limit: 100))}'";
TransientJson.cs (1)
59CiFailureJson.Display(DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 1000)));
WorkflowFailureDiagnosisContextBuilder.cs (2)
114=> summary.Append(MarkdownFormatting.Indent(DiagnosticTextSanitizer.Sanitize(value, limit, multiline: true))).Append("\n\n"); 117=> summary.Append(" ").Append(DiagnosticTextSanitizer.SanitizeJson(value, limit, multiline)?.ToJsonString() ?? "null").Append("\n\n");
WorkflowRunEvidenceCollector.cs (10)
210Console.WriteLine($"::warning::Unable to parse retry patterns: {Display(DiagnosticTextSanitizer.Sanitize(error.Message, limit: 500))}"); 254DiagnosticTextSanitizer.Sanitize(diagnostic, limit: 2000, multiline: true) + "\n"; 279$"execution='{Display(DiagnosticTextSanitizer.Sanitize(conflict.Key.ExecutionId ?? "", limit: 80))}' " + 439DiagnosticTextSanitizer.Sanitize(logResult.Error, limit: 300, multiline: false); 443var safeLog = DiagnosticTextSanitizer.Sanitize(logText, limit: 10485760, multiline: true); 463DiagnosticTextSanitizer.Sanitize(logResult.Error, limit: 500, multiline: true); 645$"job='{Display(DiagnosticTextSanitizer.Sanitize(Text(job["name"]) ?? "", limit: 80))}'; " + 761$"Unable to extract test results artifact: {DiagnosticTextSanitizer.Sanitize(ex.Message, limit: 200)}; " + 799$"attempt={_progress.RunAttempt} workflow={DiagnosticTextSanitizer.Sanitize(_workflow.WorkflowPath, limit: 80)} " + 801var safeMessage = Display(DiagnosticTextSanitizer.Sanitize(context, limit: 1000));
Workflows\AspireCiWorkflowConventions.cs (1)
54Display(DiagnosticTextSanitizer.Sanitize(name, limit: 500)));
AnalyzeCiFailure.Tests (11)
AnalyzeCiFailureEvidenceTests.cs (1)
121var evidence = new[] { CiFailureJson.ToContract<TestFailureEvidence>(DiagnosticTextSanitizer.SanitizeJson(source, int.MaxValue, multiline: true))! };
AnalyzeCiFailureRenderingTests.cs (3)
109=> RunFunctionAsync(() => " " + DiagnosticTextSanitizer.SanitizeJson( 115=> RunFunctionAsync(() => MarkdownFormatting.Indent(DiagnosticTextSanitizer.Sanitize(File.ReadAllText(args[0]), Int(args, index: 1, fallback: 65536), multiline: true)) + "\n"); 120File.WriteAllText(args[1], DiagnosticTextSanitizer.Sanitize(File.ReadAllText(args[0]), Int(args, index: 2, fallback: 10485760), multiline: true) + "\n");
AnalyzeCiFailureTextTests.cs (7)
20_ = AnalyzeCiFailure.DiagnosticTextSanitizer.Sanitize("warmup"); 24? AnalyzeCiFailure.DiagnosticTextSanitizer.SanitizeRunMetadata(text, limit: 4000) 25: AnalyzeCiFailure.DiagnosticTextSanitizer.Sanitize(text, limit: 4000); 48Assert.Equal(expected, AnalyzeCiFailure.DiagnosticTextSanitizer.Sanitize(input)); 49Assert.Equal(expected, AnalyzeCiFailure.DiagnosticTextSanitizer.SanitizeRunMetadata(input, int.MaxValue)); 117Assert.Equal(diagnostic, AnalyzeCiFailure.DiagnosticTextSanitizer.Sanitize(input)); 118Assert.Equal(metadata, AnalyzeCiFailure.DiagnosticTextSanitizer.SanitizeRunMetadata(input, int.MaxValue));