diff options
author | Gary Oberbrunner <garyo@oberbrunner.com> | 2008-10-29 03:01:00 (GMT) |
---|---|---|
committer | Gary Oberbrunner <garyo@oberbrunner.com> | 2008-10-29 03:01:00 (GMT) |
commit | 652d80b36bf9e80989336bf7a25b54c176ff626c (patch) | |
tree | 93f780a267396d95f9bfeba9c48da963a81abf05 /src/engine/SCons/Taskmaster.py | |
parent | d695652a34c6740b3c925a94b45256270027f473 (diff) | |
download | SCons-652d80b36bf9e80989336bf7a25b54c176ff626c.zip SCons-652d80b36bf9e80989336bf7a25b54c176ff626c.tar.gz SCons-652d80b36bf9e80989336bf7a25b54c176ff626c.tar.bz2 |
Applied Benoit Belley's patch in ticket 1957 improve the robustness of
GetBuildFailures(). New function convert_to_buildError, and use it in
several places so all build failures now go through it and are
returned as BuildError exceptions. Had a small effect on output
formatting in many tests but no significant change to behavior. I
reworked the patch a little to keep SCons exit status values the same
as before; this patch could make it simpler to change them in some
cases, e.g. exit with the errno of the failed action if desired. One
nice side effect of this patch is that more scons errors print the
node that caused the error now.
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
-rw-r--r-- | src/engine/SCons/Taskmaster.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index f8c494d..979b9e9 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -225,9 +225,11 @@ class Task: raise except SCons.Errors.BuildError: raise - except: - raise SCons.Errors.TaskmasterException(self.targets[0], - sys.exc_info()) + except Exception, e: + buildError = SCons.Errors.convert_to_BuildError(e) + buildError.node = self.targets[0] + buildError.exc_info = sys.exc_info() + raise buildError def executed_without_callbacks(self): """ |