未验证 提交 d22de2b7 编写于 作者: S Sam Harwell 提交者: GitHub

Merge pull request #33772 from sharwell/delayed-failures

Delayed failures in integration tests
......@@ -35,22 +35,18 @@ public sealed class VisualStudioInstanceFactory : IDisposable
/// </summary>
private static bool _firstLaunch = true;
static VisualStudioInstanceFactory()
public VisualStudioInstanceFactory()
{
var majorVsProductVersion = VsProductVersion.Split('.')[0];
AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolveHandler;
AppDomain.CurrentDomain.FirstChanceException += FirstChanceExceptionHandler;
var majorVsProductVersion = VsProductVersion.Split('.')[0];
if (int.Parse(majorVsProductVersion) < 15)
{
throw new PlatformNotSupportedException("The Visual Studio Integration Test Framework is only supported on Visual Studio 15.0 and later.");
}
}
public VisualStudioInstanceFactory()
{
AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolveHandler;
AppDomain.CurrentDomain.FirstChanceException += FirstChanceExceptionHandler;
}
private static void FirstChanceExceptionHandler(object sender, FirstChanceExceptionEventArgs eventArgs)
{
if (s_inHandler)
......@@ -77,7 +73,7 @@ private static void FirstChanceExceptionHandler(object sender, FirstChanceExcept
baseFileName = $"{testName}-{eventArgs.Exception.GetType().Name}-{DateTime.Now:HH.mm.ss}";
}
ScreenshotService.TakeScreenshot(Path.Combine(logDir, $"{baseFileName}.png"));
Directory.CreateDirectory(logDir);
var exception = eventArgs.Exception;
File.WriteAllText(
......@@ -86,6 +82,8 @@ private static void FirstChanceExceptionHandler(object sender, FirstChanceExcept
EventLogCollector.TryWriteDotNetEntriesToFile(Path.Combine(logDir, $"{baseFileName}.DotNet.log"));
EventLogCollector.TryWriteWatsonEntriesToFile(Path.Combine(logDir, $"{baseFileName}.Watson.log"));
ScreenshotService.TakeScreenshot(Path.Combine(logDir, $"{baseFileName}.png"));
}
finally
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册