caad95491a
* Fix output race TestCommand starts the test process before wiring up stderr & stdout. This change delays process start until after the wireup is finished so that the test process cannot shut down before we have wired up output redirection. * Bypass stream forwarder when it fails to attach to a process CLI has tests failing errenously when, due to timing issues, the StreamForwarders fail to attach to a process because it managed to exit before attachment occurs. We tried attaching the forwarders prior to Process Start but this proved impossible because the OUT and ERR streams are not available to attach before the process starts. This exposes a fundamental flaw in our output redirection mechanisms. We should probably move to using https://msdn.microsoft.com/en-us/library/system.diagnostics.process.outputdatareceived.aspx or a similar mechanism. However, I don't know that @brthor hadn't considered and discarded this approach. For the time being I am attempting to make tests more deterministic by capturing the associated exceptions and moving to a different mechanism when StreamForwarders are not available. Opened https://github.com/dotnet/cli/issues/4913 to track the broader issue. * File.Copy is not atomic... |
||
---|---|---|
.. | ||
AddP2PCommand.cs | ||
BuildCommand.cs | ||
BuildPJCommand.cs | ||
CleanCommand.cs | ||
DependencyToolInvokerCommand.cs | ||
DotnetCommand.cs | ||
DotnetTestCommand.cs | ||
HelpCommand.cs | ||
MigrateCommand.cs | ||
MSBuildCommand.cs | ||
NewCommand.cs | ||
PackCommand.cs | ||
PublishCommand.cs | ||
RemoveP2PCommand.cs | ||
RestoreCommand.cs | ||
RestoreProjectJsonCommand.cs | ||
RunCommand.cs | ||
TestCommand.cs | ||
TestCommandExtensions.cs | ||
VSTestCommand.cs |