summaryrefslogtreecommitdiff
path: root/engine/SCons/Errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'engine/SCons/Errors.py')
-rw-r--r--engine/SCons/Errors.py25
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