From 340bc679e9318769c6ab548eb00bc624804ef14a Mon Sep 17 00:00:00 2001 From: Maryam Ariyan Date: Mon, 11 Sep 2017 21:44:17 -0400 Subject: [PATCH] fixing failure on linux Commit migrated from https://github.com/dotnet/corefx/commit/fc03dc4f74da1df872958d4e087e46b38b02f04c --- .../tests/ProcessTests.Unix.cs | 26 ++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/libraries/System.Diagnostics.Process/tests/ProcessTests.Unix.cs b/src/libraries/System.Diagnostics.Process/tests/ProcessTests.Unix.cs index 55982aa..5903e43 100644 --- a/src/libraries/System.Diagnostics.Process/tests/ProcessTests.Unix.cs +++ b/src/libraries/System.Diagnostics.Process/tests/ProcessTests.Unix.cs @@ -111,20 +111,28 @@ namespace System.Diagnostics.Tests Win32Exception e = Assert.Throws(() => Process.Start(new ProcessStartInfo { UseShellExecute = true, FileName = fileToOpen })); } - [Theory, InlineData("nano")] + [Theory, InlineData("nano"), InlineData("vi")] [PlatformSpecific(TestPlatforms.Linux)] // [OuterLoop("Opens program")] public void ProcessStart_OpenFileOnLinux_UsesSpecifiedProgram(string programToOpenWith) { - string fileToOpen = GetTestFilePath() + ".txt"; - File.WriteAllText(fileToOpen, $"{nameof(ProcessStart_OpenFileOnLinux_UsesSpecifiedProgram)}"); - using (var px = Process.Start(programToOpenWith, fileToOpen)) + + if (IsProgramInstalled(programToOpenWith)) { - Assert.Equal(programToOpenWith, px.ProcessName); - px.Kill(); - px.WaitForExit(); - Assert.True(px.HasExited); - Assert.Equal(137, px.ExitCode); // 137 means the process was killed + string fileToOpen = GetTestFilePath() + ".txt"; + File.WriteAllText(fileToOpen, $"{nameof(ProcessStart_OpenFileOnLinux_UsesSpecifiedProgram)}"); + using (var px = Process.Start(programToOpenWith, fileToOpen)) + { + Assert.Equal(programToOpenWith, px.ProcessName); + px.Kill(); + px.WaitForExit(); + Assert.True(px.HasExited); + Assert.Equal(137, px.ExitCode); // 137 means the process was killed + } + } + else + { + Console.WriteLine($"Program specified to open file with {programToOpenWith} is not installed on this machine."); } } -- 2.7.4