public void FailsForBadInstall() { var path = Path.Combine(AppContext.BaseDirectory, ".installtest"); if (Directory.Exists(path)) { Directory.Delete(path, recursive: true); } var request = new TaskItem("999.999.999", new Hashtable { ["Runtime"] = "dotnet", ["InstallDir"] = path }); var script = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? Path.Combine(AppContext.BaseDirectory, "dotnet-install.cmd") : Path.Combine(AppContext.BaseDirectory, "dotnet-install.sh"); var task = new InstallDotNet { BuildEngine = new MockEngine(_output) { ContinueOnError = true }, Assets = new[] { request }, InstallScript = script, }; Assert.False(task.Execute(), "Task should not have passed"); }
public void InstallsDotnetCoreRuntime() { var path = Path.Combine(AppContext.BaseDirectory, ".installtest"); if (Directory.Exists(path)) { Directory.Delete(path, recursive: true); } var request = new TaskItem("1.0.5", new Hashtable { ["Runtime"] = "dotnet", ["InstallDir"] = path }); var script = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? Path.Combine(AppContext.BaseDirectory, "dotnet-install.cmd") : Path.Combine(AppContext.BaseDirectory, "dotnet-install.sh"); var task = new InstallDotNet { BuildEngine = new MockEngine(_output), Assets = new[] { request }, InstallScript = script, }; var expected = Path.Combine(path, "shared", "Microsoft.NETCore.App", "1.0.5", ".version"); Assert.False(File.Exists(expected), "Test folder should have been deleted"); Assert.True(task.Execute(), "Task should pass"); Assert.True(File.Exists(expected), "Runtime should have been installed"); }