diff --git a/Gu.Wpf.Reactive.UiTests/AsyncCommandsWindowTests.cs b/Gu.Wpf.Reactive.UiTests/AsyncCommandsWindowTests.cs index 5bd9b12f..1026c4b1 100644 --- a/Gu.Wpf.Reactive.UiTests/AsyncCommandsWindowTests.cs +++ b/Gu.Wpf.Reactive.UiTests/AsyncCommandsWindowTests.cs @@ -1,5 +1,7 @@ namespace Gu.Wpf.Reactive.UiTests { + using System; + using System.IO; using Gu.Wpf.UiAutomation; using NUnit.Framework; @@ -52,17 +54,25 @@ public void ClickTwice(string header) [TestCase("AsyncCancelableParameterCommand")] public void CancelCommand(string header) { - using (var app = Application.AttachOrLaunch(Info.ExeFileName, WindowName)) + try { - var window = app.MainWindow; - window.FindTextBox("Delay").Text = "200"; - var groupBox = window.FindGroupBox(header); - var button = groupBox.FindButton("Run"); - var cancelButton = groupBox.FindButton("Cancel"); + using (var app = Application.AttachOrLaunch(Info.ExeFileName, WindowName)) + { + var window = app.MainWindow; + window.FindTextBox("Delay").Text = "200"; + var groupBox = window.FindGroupBox(header); + var button = groupBox.FindButton("Run"); + var cancelButton = groupBox.FindButton("Cancel"); - Assert.AreEqual(false, cancelButton.IsEnabled); - button.Invoke(); - Assert.AreEqual(true, cancelButton.IsEnabled); + Assert.AreEqual(false, cancelButton.IsEnabled); + button.Invoke(); + Assert.AreEqual(true, cancelButton.IsEnabled); + } + } + catch (TimeoutException e) + { + Capture.ScreenToFile(Path.Combine(Path.GetTempPath(), "AsyncCommandsWindowTests.CancelCommand.png")); + throw; } } } diff --git a/appveyor.yml b/appveyor.yml index 697e1b0c..4679f40c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,5 +4,9 @@ before_build: - ps: dotnet restore -v d configuration: Release + build: verbosity: minimal + +on_failure: + - ps: Get-ChildItem $env:temp\*.png | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }