| Index: tools/test.py
|
| ===================================================================
|
| --- tools/test.py (revision 7566)
|
| +++ tools/test.py (working copy)
|
| @@ -117,6 +117,8 @@
|
| start = time.time()
|
| output = case.Run()
|
| case.duration = (time.time() - start)
|
| + except BreakNowException:
|
| + self.terminate = True
|
| except IOError, e:
|
| assert self.terminate
|
| return
|
| @@ -318,7 +320,13 @@
|
| # --- F r a m e w o r k ---
|
| # -------------------------
|
|
|
| +class BreakNowException(Exception):
|
| + def __init__(self, value):
|
| + self.value = value
|
| + def __str__(self):
|
| + return repr(self.value)
|
|
|
| +
|
| class CommandOutput(object):
|
|
|
| def __init__(self, exit_code, timed_out, stdout, stderr):
|
| @@ -379,9 +387,12 @@
|
|
|
| def Run(self):
|
| self.BeforeRun()
|
| - result = "exception"
|
| + result = None;
|
| try:
|
| result = self.RunCommand(self.GetCommand())
|
| + except:
|
| + self.terminate = True;
|
| + raise BreakNowException("Used pressed CTRL+C or IO went wrong")
|
| finally:
|
| self.AfterRun(result)
|
| return result
|
| @@ -702,7 +713,12 @@
|
|
|
| def RunTestCases(cases_to_run, progress, tasks):
|
| progress = PROGRESS_INDICATORS[progress](cases_to_run)
|
| - return progress.Run(tasks)
|
| + result = 0;
|
| + try:
|
| + result = progress.Run(tasks)
|
| + except Exception, e:
|
| + print "\n", e
|
| + return result
|
|
|
|
|
| def BuildRequirements(context, requirements, mode, scons_flags):
|
|
|