public void TestProperties() { const string exeArgs = "arggg"; IProcess suicidalProcess = new Yams.Process.Process(_suicidalExePath, exeArgs); Assert.AreEqual(_suicidalExePath, suicidalProcess.ExePath); Assert.AreEqual(exeArgs, suicidalProcess.ExeArgs); }
public async Task TestProperties() { const string exeArgs = "arggg"; IProcess suicidalProcess = new Yams.Process.Process(_fixture.SuicidalProcessIdentity, _fixture.SuicidalExePath, false, new Os.System()); await suicidalProcess.Start(exeArgs); Assert.Equal(_fixture.SuicidalExePath, suicidalProcess.ExePath); }
public async Task TestProperties() { const string exeArgs = "arggg"; IProcess suicidalProcess = new Yams.Process.Process(_fixture.SuicidalProcessIdentity, _fixture.SuicidalExePath, false); await suicidalProcess.Start(exeArgs); Assert.Equal(_fixture.SuicidalExePath, suicidalProcess.ExePath); Assert.Equal($"{exeArgs} --AppName {_fixture.SuicidalProcessIdentity.Id} --AppVersion {_fixture.SuicidalProcessIdentity.Version}", suicidalProcess.ExeArgs); }
public async Task TestIsRunning() { IProcess hangingProcess = new Yams.Process.Process(_hangingExePath, ""); Assert.IsFalse(hangingProcess.IsRunning); await hangingProcess.Start(); Assert.IsTrue(hangingProcess.IsRunning); await hangingProcess.Kill(); Assert.IsTrue(await ProcessUtils.SpinWaitForExit(hangingProcess, 5)); Assert.IsFalse(hangingProcess.IsRunning); }
public async Task TestIsRunning() { IProcess hangingProcess = new Yams.Process.Process(_fixture.HangingProcessIdentity, _fixture.HangingExePath, false, new Os.System()); Assert.False(hangingProcess.IsRunning); await hangingProcess.Start(string.Empty); Assert.True(hangingProcess.IsRunning); await hangingProcess.Kill(); Assert.True(await ProcessUtils.SpinWaitForExit(hangingProcess, 5)); Assert.False(hangingProcess.IsRunning); }
public async Task TestThatProcessCannotBeStartedMoreThanOnce() { IProcess hangingProcess = new Yams.Process.Process(_fixture.HangingProcessIdentity, _fixture.HangingExePath, false, new Os.System()); await hangingProcess.Start(string.Empty); Assert.True(hangingProcess.IsRunning); await Assert.ThrowsAnyAsync <Exception>(async() => await hangingProcess.Start(string.Empty)); await hangingProcess.Kill(); await hangingProcess.ReleaseResources(); }
public async Task TestThatProcessCannotBeStartedMoreThanOnce() { IProcess hangingProcess = new Yams.Process.Process(_hangingExePath, "", false); await hangingProcess.Start(); Assert.True(hangingProcess.IsRunning); await Assert.ThrowsAnyAsync <Exception>(async() => await hangingProcess.Start()); await hangingProcess.Kill(); await hangingProcess.ReleaseResources(); }
public async Task TestThatExitedEventIsFired() { IProcess suicidalProcess = new Yams.Process.Process(_suicidalExePath, ""); bool exitedFired = false; suicidalProcess.Exited += (sender, args) => { exitedFired = true; }; await suicidalProcess.Start(); Assert.IsTrue(await ProcessUtils.SpinWaitForExit(suicidalProcess, 5)); Assert.IsTrue(exitedFired); await suicidalProcess.ReleaseResources(); }
public async Task TestThatExitedEventIsFired() { IProcess suicidalProcess = new Yams.Process.Process(_fixture.SuicidalProcessIdentity, _fixture.SuicidalExePath, false, new Os.System()); bool exitedFired = false; suicidalProcess.Exited += (sender, args) => { exitedFired = true; }; await suicidalProcess.Start(string.Empty); Assert.True(await ProcessUtils.SpinWaitForExit(suicidalProcess, 5)); Assert.True(exitedFired); await suicidalProcess.ReleaseResources(); }
public async Task TestReleaseResources() { IProcess hangingProcess = new Yams.Process.Process(_fixture.HangingProcessIdentity, _fixture.HangingExePath, false); await hangingProcess.ReleaseResources(); // should do nothing await hangingProcess.Start(string.Empty); Assert.True(hangingProcess.IsRunning); await Assert.ThrowsAnyAsync <Exception>(async() => await hangingProcess.ReleaseResources()); await hangingProcess.Kill(); await hangingProcess.ReleaseResources(); }
public async Task TestThatProcessCannotBeStartedMoreThanOnce() { IProcess hangingProcess = new Yams.Process.Process(_hangingExePath, ""); await hangingProcess.Start(); Assert.IsTrue(hangingProcess.IsRunning); try { await hangingProcess.Start(); Assert.Fail("An exception should have been thrown because of the attempt of starting a process that is already running"); } catch (Exception) { // ignored } await hangingProcess.Kill(); await hangingProcess.ReleaseResources(); }
public async Task TestReleaseResources() { IProcess hangingProcess = new Yams.Process.Process(_hangingExePath, ""); await hangingProcess.ReleaseResources(); // should do nothing await hangingProcess.Start(); Assert.IsTrue(hangingProcess.IsRunning); try { await hangingProcess.ReleaseResources(); Assert.Fail("An exception should have been thrown because ReleaseResources was called before stopping the process"); } catch (Exception) { // ignored } await hangingProcess.Kill(); await hangingProcess.ReleaseResources(); }