protected override void Dispose(bool disposing)
{
// Wait for all started processes to complete
foreach (Process p in _processes)
{
try
{
if (!p.HasExited)
{
p.Kill();
Assert.True(p.WaitForExit(WaitInMS));
}
}
catch (InvalidOperationException) { } // in case it was never started
}
base.Dispose(disposing);
}