Updated PR conflicts

This commit is contained in:
BrennanConroy 2018-11-14 11:08:15 -08:00
commit 5e96262b2a
2 changed files with 20 additions and 13 deletions

View File

@ -41,7 +41,7 @@ try {
// We use the launchers themselves to figure out if the browser exists. It's a bit sneaky, but it works. // We use the launchers themselves to figure out if the browser exists. It's a bit sneaky, but it works.
tryAddBrowser("ChromeHeadlessNoSandbox", new ChromeHeadlessBrowser(() => { }, {})); tryAddBrowser("ChromeHeadlessNoSandbox", new ChromeHeadlessBrowser(() => { }, {}));
tryAddBrowser("ChromiumHeadless", new ChromiumHeadlessBrowser(() => { }, {})); tryAddBrowser("ChromiumHeadlessIgnoreCert", new ChromiumHeadlessBrowser(() => { }, {}));
tryAddBrowser("FirefoxHeadless", new FirefoxHeadlessBrowser(0, () => { }, {})); tryAddBrowser("FirefoxHeadless", new FirefoxHeadlessBrowser(0, () => { }, {}));
// We need to receive an argument from the caller, but globals don't seem to work, so we use an environment variable. // We need to receive an argument from the caller, but globals don't seem to work, so we use an environment variable.
@ -60,6 +60,12 @@ try {
// Ignore cert errors to allow our test cert to work (NEVER do this outside of testing) // Ignore cert errors to allow our test cert to work (NEVER do this outside of testing)
// ChromeHeadless runs about 10x slower on Windows 7 machines without the --proxy switches below. Why? ¯\_(ツ)_/¯ // ChromeHeadless runs about 10x slower on Windows 7 machines without the --proxy switches below. Why? ¯\_(ツ)_/¯
flags: ["--no-sandbox", "--proxy-server='direct://'", "--proxy-bypass-list=*", "--allow-insecure-localhost", "--ignore-certificate-errors"] flags: ["--no-sandbox", "--proxy-server='direct://'", "--proxy-bypass-list=*", "--allow-insecure-localhost", "--ignore-certificate-errors"]
},
ChromiumHeadlessIgnoreCert: {
base: 'ChromiumHeadless',
// Ignore cert errors to allow our test cert to work (NEVER do this outside of testing)
flags: ["--allow-insecure-localhost", "--ignore-certificate-errors"]
} }
}, },
}); });

View File

@ -149,18 +149,21 @@ namespace Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests
{ {
var (process, lines) = RunProcess(fileName, arguments, prefix, logger); var (process, lines) = RunProcess(fileName, arguments, prefix, logger);
if (!process.WaitForExit((int)timeout.TotalMilliseconds)) using (process)
{ {
process.Close(); if (!process.WaitForExit((int)timeout.TotalMilliseconds))
logger.LogError("Closing process '{processName}' because it is running longer than the configured timeout.", fileName); {
process.Close();
logger.LogError("Closing process '{processName}' because it is running longer than the configured timeout.", fileName);
}
// Need to WaitForExit without a timeout to guarantee the output stream has written everything
process.WaitForExit();
output = string.Join(Environment.NewLine, lines);
return process.ExitCode;
} }
// Need to WaitForExit without a timeout to guarantee the output stream has written everything
process.WaitForExit();
output = string.Join(Environment.NewLine, lines);
return process.ExitCode;
} }
private static (Process, ConcurrentQueue<string>) RunProcess(string fileName, string arguments, string prefix, ILogger logger) private static (Process, ConcurrentQueue<string>) RunProcess(string fileName, string arguments, string prefix, ILogger logger)
@ -179,9 +182,7 @@ namespace Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests
EnableRaisingEvents = true EnableRaisingEvents = true
}; };
var exitCode = 0;
var lines = new ConcurrentQueue<string>(); var lines = new ConcurrentQueue<string>();
process.Exited += (_, __) => exitCode = process.ExitCode;
process.OutputDataReceived += (_, a) => process.OutputDataReceived += (_, a) =>
{ {
LogIfNotNull(logger.LogInformation, $"'{prefix}' stdout: {{0}}", a.Data); LogIfNotNull(logger.LogInformation, $"'{prefix}' stdout: {{0}}", a.Data);