public void Close()
{
+ process.StandardInput.WriteLine("-gdb-exit");
process.StandardInput.Close();
if (!process.WaitForExit(5))
{
ProcessInfo processInfo = new ProcessInfo(debuggerCommand, output);
- // Globals, to use inside test case
- TestCaseGlobals globals = new TestCaseGlobals(
- processInfo,
- lines,
- data.srcFilePath,
- data.dllPath,
- output
- );
-
- script.RunAsync(globals).Wait();
+ try
+ {
+ // Globals, to use inside test case
+ TestCaseGlobals globals = new TestCaseGlobals(
+ processInfo,
+ lines,
+ data.srcFilePath,
+ data.dllPath,
+ output
+ );
- // Finish process
- processInfo.Close();
+ script.RunAsync(globals).Wait();
+ }
+ catch (Exception e)
+ {
+ throw e;
+ }
+ finally
+ {
+ // Finish process
+ processInfo.Close();
+ }
}
}
}