Commit 0e72ef06 authored by Tristan Van Berkom's avatar Tristan Van Berkom
Browse files

sandbox/sandbox.py: Display failed commands in the detail string

We should only display commands in detail strings, not in the
message texts.
parent 17f6e5a8
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+5 −4
Original line number Diff line number Diff line
@@ -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()