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!
|
// Shutdown should be graceful here!
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult,
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult,
|
||||||
EventLogHelpers.InProcessShutdown());
|
EventLogHelpers.InProcessShutdown(), Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalFact]
|
[ConditionalFact]
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,13 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
public async Task CheckStartupEventLogMessage()
|
public async Task CheckStartupEventLogMessage()
|
||||||
{
|
{
|
||||||
var deploymentParameters = _fixture.GetBaseDeploymentParameters();
|
var deploymentParameters = _fixture.GetBaseDeploymentParameters();
|
||||||
|
|
||||||
var deploymentResult = await DeployAsync(deploymentParameters);
|
var deploymentResult = await DeployAsync(deploymentParameters);
|
||||||
await deploymentResult.AssertStarts();
|
await deploymentResult.AssertStarts();
|
||||||
|
|
||||||
StopServer();
|
StopServer();
|
||||||
|
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessStarted(deploymentResult));
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessStarted(deploymentResult), Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalFact]
|
[ConditionalFact]
|
||||||
|
|
@ -40,7 +40,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
|
|
||||||
StopServer();
|
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);
|
Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
|
||||||
|
|
||||||
StopServer();
|
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);
|
await AssertFailsToStart(deploymentResult);
|
||||||
var expectedString = new string('a', 30000);
|
var expectedString = new string('a', 30000);
|
||||||
Assert.Contains(TestSink.Writes, context => context.Message.Contains(expectedString));
|
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]
|
[ConditionalTheory]
|
||||||
|
|
@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
var expectedString = new string('a', 30000);
|
var expectedString = new string('a', 30000);
|
||||||
|
|
||||||
Assert.Contains(expectedString, contents);
|
Assert.Contains(expectedString, contents);
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString));
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", expectedString), Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalFact]
|
[ConditionalFact]
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
|
|
||||||
StopServer();
|
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());
|
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();
|
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)
|
if (variant.HostingModel == HostingModel.InProcess)
|
||||||
{
|
{
|
||||||
// Error is getting logged twice, from shim and handler
|
// 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";
|
deploymentParameters.HandlerSettings["debugLevel"] = "file,eventlog";
|
||||||
var deploymentResult = await StartAsync(deploymentParameters);
|
var deploymentResult = await StartAsync(deploymentParameters);
|
||||||
StopServer();
|
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]
|
[ConditionalTheory]
|
||||||
|
|
@ -197,11 +197,11 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
|
|
||||||
if (variant.HostingModel == HostingModel.InProcess)
|
if (variant.HostingModel == HostingModel.InProcess)
|
||||||
{
|
{
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"));
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, EventLogHelpers.InProcessThreadExitStdOut(deploymentResult, "12", "(.*)彡⾔(.*)"), Logger);
|
||||||
}
|
}
|
||||||
else
|
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(200, (int)result1.StatusCode);
|
||||||
Assert.Equal(500, (int)result2.StatusCode);
|
Assert.Equal(500, (int)result2.StatusCode);
|
||||||
StopServer();
|
StopServer();
|
||||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.OnlyOneAppPerAppPool());
|
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.OnlyOneAppPerAppPool(), Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalTheory]
|
[ConditionalTheory]
|
||||||
|
|
@ -72,7 +72,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
Assert.Equal(200, (int)result1.StatusCode);
|
Assert.Equal(200, (int)result1.StatusCode);
|
||||||
Assert.Equal(500, (int)result2.StatusCode);
|
Assert.Equal(500, (int)result2.StatusCode);
|
||||||
StopServer();
|
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)
|
private void SetHostingModel(string directory, HostingModel model)
|
||||||
|
|
|
||||||
|
|
@ -15,30 +15,22 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
{
|
{
|
||||||
public class EventLogHelpers
|
public class EventLogHelpers
|
||||||
{
|
{
|
||||||
public static void VerifyEventLogEvent(IISDeploymentResult deploymentResult, string expectedRegexMatchString, bool allowMultiple = false)
|
public static void VerifyEventLogEvent(IISDeploymentResult deploymentResult, string expectedRegexMatchString, ILogger logger, 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)
|
|
||||||
{
|
{
|
||||||
Assert.True(deploymentResult.HostProcess.HasExited);
|
Assert.True(deploymentResult.HostProcess.HasExited);
|
||||||
|
|
||||||
var entries = GetEntries(deploymentResult);
|
var entries = GetEntries(deploymentResult);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
AssertEntry(expectedRegexMatchString, entries);
|
AssertEntry(expectedRegexMatchString, entries, allowMultiple);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
foreach (var entry in entries)
|
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();
|
StopServer();
|
||||||
|
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult,
|
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]
|
[ConditionalFact]
|
||||||
|
|
@ -63,7 +63,7 @@ namespace IIS.FunctionalTests.Inprocess
|
||||||
|
|
||||||
var contents = Helpers.ReadAllTextFromFile(Helpers.GetExpectedLogName(deploymentResult, _logFolderPath), Logger);
|
var contents = Helpers.ReadAllTextFromFile(Helpers.GetExpectedLogName(deploymentResult, _logFolderPath), Logger);
|
||||||
var expectedString = "The specified framework 'Microsoft.NETCore.App', version '2.9.9' was not found.";
|
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);
|
Assert.Contains(expectedString, contents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,7 +89,7 @@ namespace IIS.FunctionalTests.Inprocess
|
||||||
|
|
||||||
var fileInDirectory = Directory.GetFiles(_logFolderPath).Single();
|
var fileInDirectory = Directory.GetFiles(_logFolderPath).Single();
|
||||||
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||||
Assert.Contains("Invoked hostfxr", contents);
|
Assert.Contains("Invoked hostfxr", contents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -114,7 +114,7 @@ namespace IIS.FunctionalTests.Inprocess
|
||||||
|
|
||||||
StopServer();
|
StopServer();
|
||||||
|
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalTheory]
|
[ConditionalTheory]
|
||||||
|
|
@ -143,7 +143,7 @@ namespace IIS.FunctionalTests.Inprocess
|
||||||
var fileInDirectory = Directory.GetFiles(_logFolderPath).First();
|
var fileInDirectory = Directory.GetFiles(_logFolderPath).First();
|
||||||
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
var contents = Helpers.ReadAllTextFromFile(fileInDirectory, Logger);
|
||||||
|
|
||||||
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr");
|
EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Invoked hostfxr", Logger);
|
||||||
Assert.Contains("Invoked hostfxr", contents);
|
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);
|
await Helpers.Retry(async () => await File.ReadAllTextAsync(Path.Combine(result.ContentRoot, "Started.txt")), TimeoutExtensions.DefaultTimeoutValue);
|
||||||
StopServer();
|
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);
|
await Helpers.Retry(async () => await File.ReadAllTextAsync(Path.Combine(result.ContentRoot, "Started.txt")), TimeoutExtensions.DefaultTimeoutValue);
|
||||||
StopServer();
|
StopServer();
|
||||||
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result));
|
EventLogHelpers.VerifyEventLogEvent(result, EventLogHelpers.Started(result), Logger);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue