diff options
Diffstat (limited to 'buildstream')
-rw-r--r-- | buildstream/_exceptions.py | 4 | ||||
-rw-r--r-- | buildstream/sandbox/sandbox.py | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/buildstream/_exceptions.py b/buildstream/_exceptions.py index ea5ea62f2..6d8ea6d38 100644 --- a/buildstream/_exceptions.py +++ b/buildstream/_exceptions.py @@ -262,8 +262,8 @@ class PlatformError(BstError): # Raised when errors are encountered by the sandbox implementation # class SandboxError(BstError): - def __init__(self, message, reason=None): - super().__init__(message, domain=ErrorDomain.SANDBOX, reason=reason) + def __init__(self, message, detail=None, reason=None): + super().__init__(message, detail=detail, domain=ErrorDomain.SANDBOX, reason=reason) # ArtifactError diff --git a/buildstream/sandbox/sandbox.py b/buildstream/sandbox/sandbox.py index 4a1e81008..cb6f43314 100644 --- a/buildstream/sandbox/sandbox.py +++ b/buildstream/sandbox/sandbox.py @@ -86,10 +86,11 @@ class SandboxCommandError(SandboxError): Args: message (str): The error message to report to the user + detail (str): The detailed error string collect (str): An optional directory containing partial install contents """ - def __init__(self, message, *, collect=None): - super().__init__(message, reason='command-failed') + def __init__(self, message, *, detail=None, collect=None): + super().__init__(message, detail=detail, reason='command-failed') self.collect = collect @@ -599,8 +600,8 @@ class _SandboxBatch(): if exitcode != 0: cmdline = ' '.join(shlex.quote(cmd) for cmd in command.command) label = command.label or cmdline - raise SandboxCommandError("Command '{}' failed with exitcode {}".format(label, exitcode), - collect=self.collect) + raise SandboxCommandError("Command failed with exitcode {}".format(exitcode), + detail=label, collect=self.collect) def execute_call(self, call): call.callback() |