Fix dotnet watch tests on Helix (#19021)

This commit is contained in:
Brennan 2020-02-14 11:34:11 -08:00 committed by GitHub
parent 7e094d7b7d
commit 50ef4faf14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 33 additions and 21 deletions

View File

@ -19,7 +19,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
_app = new AppWithDeps(logger);
}
[Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task ChangeFileInDependency()
{
await _app.StartWatcherAsync();

View File

@ -21,6 +21,7 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
private BufferBlock<string> _source;
private ITestOutputHelper _logger;
private TaskCompletionSource<int> _exited;
private bool _started;
public AwaitableProcess(ProcessSpec spec, ITestOutputHelper logger)
{
@ -72,6 +73,7 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
_process.Exited += OnExit;
_process.Start();
_started = true;
_process.BeginErrorReadLine();
_process.BeginOutputReadLine();
_logger.WriteLine($"{DateTime.Now}: process start: '{_process.StartInfo.FileName} {_process.StartInfo.Arguments}'");
@ -150,7 +152,7 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
if (_process != null)
{
if (!_process.HasExited)
if (_started && !_process.HasExited)
{
_process.KillTree();
}

View File

@ -22,8 +22,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
_app = new KitchenSinkApp(logger);
}
[ConditionalFact]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task RunsWithDotnetWatchEnvVariable()
{
Assert.True(string.IsNullOrEmpty(Environment.GetEnvironmentVariable("DOTNET_WATCH")), "DOTNET_WATCH cannot be set already when this test is running");
@ -36,7 +36,7 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
}
[Fact]
[Flaky("https://github.com/dotnet/aspnetcore-internal/issues/1826", FlakyOn.All)]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task RunsWithIterationEnvVariable()
{
await _app.StartWatcherAsync();

View File

@ -21,9 +21,10 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
_app = new GlobbingApp(logger);
}
[Theory(Skip = "https://github.com/dotnet/aspnetcore/issues/8267")]
[Theory]
[InlineData(true)]
[InlineData(false)]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task ChangeCompiledFile(bool usePollingWatcher)
{
_app.UsePollingWatcher = usePollingWatcher;
@ -41,7 +42,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
Assert.Equal(2, types);
}
[Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task DeleteCompiledFile()
{
await _app.StartWatcherAsync();
@ -57,7 +59,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
Assert.Equal(1, types);
}
[Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task DeleteSourceFolder()
{
await _app.StartWatcherAsync();
@ -73,7 +76,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
Assert.Equal(1, types);
}
[Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/8987")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task RenameCompiledFile()
{
await _app.StartWatcherAsync();
@ -85,8 +89,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
await _app.HasRestarted();
}
[ConditionalFact]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task ChangeExcludedFile()
{
await _app.StartWatcherAsync();
@ -99,8 +103,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
Assert.NotSame(restart, finished);
}
[ConditionalFact]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task ListsFiles()
{
await _app.PrepareAsync();

View File

@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Testing;
@ -24,7 +23,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
_output = logger;
}
[Fact(Skip = "https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task RestartProcessOnFileChange()
{
await _app.StartWatcherAsync(new[] { "--no-exit" });
@ -42,8 +42,8 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
Assert.NotEqual(processIdentifier, processIdentifier2);
}
[ConditionalFact]
[SkipOnHelix("https://github.com/dotnet/aspnetcore/issues/8267")]
[Fact]
[Flaky("<No longer needed; tracked in Kusto>", FlakyOn.All)]
public async Task RestartProcessThatTerminatesAfterFileChange()
{
await _app.StartWatcherAsync();

View File

@ -8,7 +8,6 @@ using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using Microsoft.Extensions.CommandLineUtils;
using Xunit.Abstractions;
namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
@ -89,9 +88,15 @@ namespace Microsoft.DotNet.Watcher.Tools.FunctionalTests
};
args.AddRange(arguments);
var dotnetPath = typeof(WatchableApp).Assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
.Single(s => s.Key == "DotnetPath").Value;
var dotnetPath = "dotnet";
// Fallback to embedded path to dotnet when not on helix
if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("helix")))
{
dotnetPath = typeof(WatchableApp).Assembly.GetCustomAttributes<AssemblyMetadataAttribute>()
.Single(s => s.Key == "DotnetPath").Value;
}
var spec = new ProcessSpec
{
Executable = dotnetPath,