Fix dotnet watch tests on Helix (#19021)
This commit is contained in:
parent
7e094d7b7d
commit
50ef4faf14
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue