summaryrefslogtreecommitdiff
path: root/src/engine/SCons/Errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Errors.py')
-rw-r--r--src/engine/SCons/Errors.py25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/engine/SCons/Errors.py b/src/engine/SCons/Errors.py
index 8388a0f..58ef92e 100644
--- a/src/engine/SCons/Errors.py
+++ b/src/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 rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog"
+__revision__ = "src/engine/SCons/Errors.py 103260fce95bf5db1c35fb2371983087d85dd611 2019-07-13 18:25:30 bdbaddog"
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