diff options
Diffstat (limited to 'engine/SCons/Errors.py')
| -rw-r--r-- | engine/SCons/Errors.py | 25 | 
1 files changed, 12 insertions, 13 deletions
diff --git a/engine/SCons/Errors.py b/engine/SCons/Errors.py index 88904de..4f1403d 100644 --- a/engine/SCons/Errors.py +++ b/engine/SCons/Errors.py @@ -1,5 +1,5 @@  # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ and user errors in SCons.  """ -__revision__ = "src/engine/SCons/Errors.py 74b2c53bc42290e911b334a6b44f187da698a668 2017/11/14 13:16:53 bdbaddog" +__revision__ = "src/engine/SCons/Errors.py a56bbd8c09fb219ab8a9673330ffcd55279219d0 2019-03-26 23:16:31 bdeegan"  import shutil  import SCons.Util @@ -95,7 +95,7 @@ class BuildError(Exception):          # py3: errstr should be string and not bytes. -        self.errstr = SCons.Util.to_str(errstr) +        self.errstr = SCons.Util.to_String(errstr)          self.status = status          self.exitstatus = exitstatus          self.filename = filename @@ -176,8 +176,8 @@ def convert_to_BuildError(status, exc_info=None):              filename = status.filename          except AttributeError:              filename = None -         -        buildError = BuildError(  + +        buildError = BuildError(              errstr=status.args[0],              status=status.errno,              exitstatus=2, @@ -190,14 +190,13 @@ def convert_to_BuildError(status, exc_info=None):          # error, which might be different from the target being built          # (for example, failure to create the directory in which the          # target file will appear). -        try: -            filename = status.filename -        except AttributeError: -            filename = None +        filename = getattr(status, 'filename', None) +        strerror = getattr(status, 'strerror', str(status)) +        errno = getattr(status, 'errno', 2) -        buildError = BuildError(  -            errstr=status.strerror, -            status=status.errno, +        buildError = BuildError( +            errstr=strerror, +            status=errno,              exitstatus=2,              filename=filename,              exc_info=exc_info) @@ -217,7 +216,7 @@ def convert_to_BuildError(status, exc_info=None):              errstr="Error %s" % status,              status=status,              exitstatus=2) -     +      #import sys      #sys.stderr.write("convert_to_BuildError: status %s => (errstr %s, status %s)\n"%(status,buildError.errstr, buildError.status))      return buildError  | 
