Merge pull request #1851 from dotnet/brthor/run-arg
Change dotnet run to call the muxer
This commit is contained in:
commit
9040a9094f
2 changed files with 38 additions and 1 deletions
|
@ -124,6 +124,12 @@ namespace Microsoft.DotNet.Tools.Run
|
|||
return result;
|
||||
}
|
||||
|
||||
// Add Nuget Packages Probing Path
|
||||
var nugetPackagesRoot = _context.PackagesDirectory;
|
||||
var probingPathArg = "--additionalprobingpath";
|
||||
_args.Insert(0, nugetPackagesRoot);
|
||||
_args.Insert(0, probingPathArg);
|
||||
|
||||
// Now launch the output and give it the results
|
||||
var outputPaths = _context.GetOutputPaths(Configuration);
|
||||
var outputName = outputPaths.RuntimeFiles.Executable;
|
||||
|
@ -150,7 +156,9 @@ namespace Microsoft.DotNet.Tools.Run
|
|||
if (outputName.EndsWith(FileNameSuffixes.DotNet.DynamicLib, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// The executable is a ".dll", we need to call it through dotnet.exe
|
||||
command = Command.Create("corehost", Enumerable.Concat(new[] { outputName }, _args));
|
||||
var muxer = new Muxer();
|
||||
|
||||
command = Command.Create(muxer.MuxerPath, Enumerable.Concat(new[] { "exec", outputName }, _args));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -11,6 +11,7 @@ namespace Microsoft.DotNet.Tools.Run.Tests
|
|||
{
|
||||
public class RunTests : TestBase
|
||||
{
|
||||
private const string PortableAppsTestBase = "PortableTests";
|
||||
private const string RunTestsBase = "RunTestsApps";
|
||||
|
||||
[WindowsOnlyFact]
|
||||
|
@ -40,6 +41,34 @@ namespace Microsoft.DotNet.Tools.Run.Tests
|
|||
new RunCommand(instance.TestRoot).Execute().Should().Fail();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ItRunsPortableApps()
|
||||
{
|
||||
TestInstance instance = TestAssetsManager.CreateTestInstance(Path.Combine(PortableAppsTestBase, "PortableApp"))
|
||||
.WithLockFiles()
|
||||
.WithBuildArtifacts();
|
||||
new RunCommand(instance.TestRoot).Execute().Should().Pass();
|
||||
}
|
||||
|
||||
[Fact(Skip = "https://github.com/dotnet/cli/issues/1940")]
|
||||
public void ItRunsPortableAppsWithNative()
|
||||
{
|
||||
TestInstance instance = TestAssetsManager.CreateTestInstance(Path.Combine(PortableAppsTestBase, "PortableAppWithNative"))
|
||||
.WithLockFiles()
|
||||
.WithBuildArtifacts();
|
||||
new RunCommand(instance.TestRoot).Execute().Should().Pass();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ItRunsStandaloneApps()
|
||||
{
|
||||
TestInstance instance = TestAssetsManager.CreateTestInstance(Path.Combine(PortableAppsTestBase, "StandaloneApp"))
|
||||
.WithLockFiles()
|
||||
.WithBuildArtifacts();
|
||||
new RunCommand(instance.TestRoot).Execute().Should().Pass();
|
||||
}
|
||||
|
||||
|
||||
private void CopyProjectToTempDir(string projectDir, TempDirectory tempDir)
|
||||
{
|
||||
// copy all the files to temp dir
|
||||
|
|
Loading…
Reference in a new issue