Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions tests/Morphir.E2E.Tests/Infrastructure/ExecutableRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,27 +102,33 @@ private static bool IsInfrastructureLogMessage(string line)
// Filter Wolverine and hosting INFO logs only (keep errors/failures)
// Check for error/fail patterns case-insensitively
// But be careful: JSON output may contain "Errors" field which is valid output
if ((line.Contains("fail:", StringComparison.OrdinalIgnoreCase) ||
if ((line.Contains("fail:", StringComparison.OrdinalIgnoreCase) ||
line.Contains("error:", StringComparison.OrdinalIgnoreCase)) &&
!line.TrimStart().StartsWith("\"Errors", StringComparison.OrdinalIgnoreCase) &&
!line.TrimStart().StartsWith("{", StringComparison.OrdinalIgnoreCase) &&
!line.TrimStart().StartsWith("[", StringComparison.OrdinalIgnoreCase))
return false;

// Filter Serilog formatted log messages: [HH:mm:ss INF] or [HH:mm:ss WRN] etc
// These are infrastructure logs from Wolverine/hosting that we want to suppress
// Pattern: [XX:XX:XX INF] or [XX:XX:XX WRN] or [XX:XX:XX DBG]
if (System.Text.RegularExpressions.Regex.IsMatch(line, @"^\[\d{2}:\d{2}:\d{2}\s+(INF|WRN|DBG)\]"))
return true;

// Filter infrastructure log messages, but be careful not to filter actual command output
// Check for specific log prefixes first
if (line.StartsWith("info: Wolverine", StringComparison.OrdinalIgnoreCase) ||
line.StartsWith("info: Microsoft.Hosting", StringComparison.OrdinalIgnoreCase))
return true;

return line.Contains("Application started", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Application is shutting down", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Hosting environment:", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Content root path:", StringComparison.OrdinalIgnoreCase) ||
line.Contains("extism.dll", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Open Telemetry metrics", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Starting Wolverine messaging", StringComparison.OrdinalIgnoreCase) ||
(line.Contains("Wolverine code generation mode", StringComparison.OrdinalIgnoreCase) &&
(line.Contains("Wolverine code generation mode", StringComparison.OrdinalIgnoreCase) &&
!line.Contains("Commands:", StringComparison.OrdinalIgnoreCase)) ||
line.Contains("Wolverine assigned node id", StringComparison.OrdinalIgnoreCase) ||
line.Contains("Searching assembly", StringComparison.OrdinalIgnoreCase) ||
Expand Down
Loading