Log all event log entries when assert fails (#8491)
This commit is contained in:
parent
c90ffb0033
commit
a673be3b9a
|
|
@ -223,7 +223,7 @@ namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests
|
|||
|
||||
// Shutdown should be graceful here!
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult,
|
||||
EventLogHelpers.InProcessShutdown());
|
||||
EventLogHelpers.InProcessShutdown(), Logger);
|
||||
}
|
||||
|
||||
[ConditionalFact]
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
public async Task CheckStartupEventLogMessage()
|
||||
{
|
||||
var deploymentParameters = _fixture.GetBaseDeploymentParameters();
|
||||
|
||||
|
||||
var deploymentResult = await DeployAsync(deploymentParameters);
|
||||
await deploymentResult.AssertStarts();
|
||||
|
||||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessStarted(deploymentResult));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessStarted(deploymentResult), Logger);
|
||||
}
|
||||
|
||||
[ConditionalFact]
|
||||
|
|
@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
|
||||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Application '.+' has shutdown.");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Application '.+' has shutdown.", Logger);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
|
||||
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"), Logger);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
await AssertFailsToStart(deploymentResult);
|
||||
var expectedString = new string('a', 30000);
|
||||
Assert.Contains(TestSink.Writes, context => context.Message.Contains(expectedString));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString), Logger);
|
||||
}
|
||||
|
||||
[ConditionalTheory]
|
||||
|
|
@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
var expectedString = new string('a', 30000);
|
||||
|
||||
Assert.Contains(expectedString, contents);
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString), Logger);
|
||||
}
|
||||
|
||||
[ConditionalFact]
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
|
||||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.UnableToStart(deploymentResult, subError));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.UnableToStart(deploymentResult, subError), Logger);
|
||||
|
||||
Assert.Contains("HTTP Error 500.0 - ANCM In-Process Handler Load Failure", await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
|
|
@ -167,7 +167,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
|
||||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "AspNetCore Module is disabled");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "AspNetCore Module is disabled", Logger);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
if (variant.HostingModel == HostingModel.InProcess)
|
||||
{
|
||||
// Error is getting logged twice, from shim and handler
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.CouldNotStartStdoutFileRedirection("Q:\\std", deploymentResult), allowMultiple: true);
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.CouldNotStartStdoutFileRedirection("Q:\\std", deploymentResult), Logger, allowMultiple: true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
deploymentParameters.HandlerSettings["debugLevel"] = "file,eventlog";
|
||||
var deploymentResult = await StartAsync(deploymentParameters);
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, @"\[aspnetcorev2.dll\] Initializing logs for .*?Description: IIS ASP.NET Core Module V2");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, @"\[aspnetcorev2.dll\] Initializing logs for .*?Description: IIS ASP.NET Core Module V2", Logger);
|
||||
}
|
||||
|
||||
[ConditionalTheory]
|
||||
|
|
@ -197,11 +197,11 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
|
||||
if (variant.HostingModel == HostingModel.InProcess)
|
||||
{
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"), Logger);
|
||||
}
|
||||
else
|
||||
{
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.OutOfProcessFailedToStart(deploymentResult));
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.OutOfProcessFailedToStart(deploymentResult), Logger);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
Assert.Equal(200, (int)result1.StatusCode);
|
||||
Assert.Equal(500, (int)result2.StatusCode);
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.OnlyOneAppPerAppPool());
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.OnlyOneAppPerAppPool(), Logger);
|
||||
}
|
||||
|
||||
[ConditionalTheory]
|
||||
|
|
@ -72,7 +72,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
Assert.Equal(200, (int)result1.StatusCode);
|
||||
Assert.Equal(500, (int)result2.StatusCode);
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(result, "Mixed hosting model is not supported.");
|
||||
EventLogHelpers.VerifyEventLogEvent(result, "Mixed hosting model is not supported.", Logger);
|
||||
}
|
||||
|
||||
private void SetHostingModel(string directory, HostingModel model)
|
||||
|
|
|
|||
|
|
@ -15,30 +15,22 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
|||
{
|
||||
public class EventLogHelpers
|
||||
{
|
||||
public static void VerifyEventLogEvent(IISDeploymentResult deploymentResult, string expectedRegexMatchString, bool allowMultiple = false)
|
||||
{
|
||||
Assert.True(deploymentResult.HostProcess.HasExited);
|
||||
|
||||
var entries = GetEntries(deploymentResult);
|
||||
AssertEntry(expectedRegexMatchString, entries, allowMultiple);
|
||||
}
|
||||
|
||||
public static void VerifyEventLogEvent(IISDeploymentResult deploymentResult, string expectedRegexMatchString, ILogger logger)
|
||||
public static void VerifyEventLogEvent(IISDeploymentResult deploymentResult, string expectedRegexMatchString, ILogger logger, bool allowMultiple = false)
|
||||
{
|
||||
Assert.True(deploymentResult.HostProcess.HasExited);
|
||||
|
||||
var entries = GetEntries(deploymentResult);
|
||||
try
|
||||
{
|
||||
AssertEntry(expectedRegexMatchString, entries);
|
||||
AssertEntry(expectedRegexMatchString, entries, allowMultiple);
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch (Exception)
|
||||
{
|
||||
foreach (var entry in entries)
|
||||
{
|
||||
logger.LogInformation(entry.Message);
|
||||
logger.LogInformation("'{Message}', generated {Generated}, written {Written}", entry.Message, entry.TimeGenerated, entry.TimeWritten);
|
||||
}
|
||||
throw ex;
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ namespace IIS.FunctionalTests.Inprocess
|
|||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult,
|
||||
"The specified framework 'Microsoft.NETCore.App', version '2.9.9' was not found.");
|
||||
"The specified framework 'Microsoft.NETCore.App', version '2.9.9' was not found.", Logger);
|
||||
}
|
||||
|
||||
[ConditionalFact]
|
||||
|
|
@ -63,7 +63,7 @@ namespace IIS.FunctionalTests.Inprocess
|
|||
|
||||
var contents = Helpers.ReadAllTextFromFile(Helpers.GetExpectedLogName(deploymentResult, _logFolderPath), Logger);
|
||||
var expectedString = "The specified framework 'Microsoft.NETCore.App', version '2.9.9' was not found.";
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, expectedString);
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, expectedString, Logger);
|
||||
Assert.Contains(expectedString, contents);
|
||||
}
|
||||
|
||||
|
|
@ -89,7 +89,7 @@ namespace IIS.FunctionalTests.Inprocess
|
|||
|
||||
var fileInDirectory = Directory.GetFiles(_logFolderPath).Single();
|
||||
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||
Assert.Contains("Invoked hostfxr", contents);
|
||||
}
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ namespace IIS.FunctionalTests.Inprocess
|
|||
|
||||
StopServer();
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||
}
|
||||
|
||||
[ConditionalTheory]
|
||||
|
|
@ -143,7 +143,7 @@ namespace IIS.FunctionalTests.Inprocess
|
|||
var fileInDirectory = Directory.GetFiles(_logFolderPath).First();
|
||||
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
||||
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||
Assert.Contains("Invoked hostfxr", contents);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace IIS.FunctionalTests
|
|||
|
||||
await Helpers.Retry(async () => await File.ReadAllTextAsync(Path.Combine(result.ContentRoot, "Started.txt")), TimeoutExtensions.DefaultTimeoutValue);
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result));
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result), Logger);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ namespace IIS.FunctionalTests
|
|||
|
||||
await Helpers.Retry(async () => await File.ReadAllTextAsync(Path.Combine(result.ContentRoot, "Started.txt")), TimeoutExtensions.DefaultTimeoutValue);
|
||||
StopServer();
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result));
|
||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result), Logger);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue