diff options
Diffstat (limited to 'meta/lib')
| -rw-r--r-- | meta/lib/oeqa/core/target/ssh.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index 09cdd14c75..d473469384 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py | |||
| @@ -55,14 +55,14 @@ class OESSHTarget(OETarget): | |||
| 55 | def stop(self, **kwargs): | 55 | def stop(self, **kwargs): |
| 56 | pass | 56 | pass |
| 57 | 57 | ||
| 58 | def _run(self, command, timeout=None, ignore_status=True): | 58 | def _run(self, command, timeout=None, ignore_status=True, raw=False): |
| 59 | """ | 59 | """ |
| 60 | Runs command in target using SSHProcess. | 60 | Runs command in target using SSHProcess. |
| 61 | """ | 61 | """ |
| 62 | self.logger.debug("[Running]$ %s" % " ".join(command)) | 62 | self.logger.debug("[Running]$ %s" % " ".join(command)) |
| 63 | 63 | ||
| 64 | starttime = time.time() | 64 | starttime = time.time() |
| 65 | status, output = SSHCall(command, self.logger, timeout) | 65 | status, output = SSHCall(command, self.logger, timeout, raw) |
| 66 | self.logger.debug("[Command returned '%d' after %.2f seconds]" | 66 | self.logger.debug("[Command returned '%d' after %.2f seconds]" |
| 67 | "" % (status, time.time() - starttime)) | 67 | "" % (status, time.time() - starttime)) |
| 68 | 68 | ||
| @@ -72,7 +72,7 @@ class OESSHTarget(OETarget): | |||
| 72 | 72 | ||
| 73 | return (status, output) | 73 | return (status, output) |
| 74 | 74 | ||
| 75 | def run(self, command, timeout=None, ignore_status=True): | 75 | def run(self, command, timeout=None, ignore_status=True, raw=False): |
| 76 | """ | 76 | """ |
| 77 | Runs command in target. | 77 | Runs command in target. |
| 78 | 78 | ||
| @@ -91,7 +91,7 @@ class OESSHTarget(OETarget): | |||
| 91 | else: | 91 | else: |
| 92 | processTimeout = self.timeout | 92 | processTimeout = self.timeout |
| 93 | 93 | ||
| 94 | status, output = self._run(sshCmd, processTimeout, ignore_status) | 94 | status, output = self._run(sshCmd, processTimeout, ignore_status, raw) |
| 95 | self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) | 95 | self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) |
| 96 | 96 | ||
| 97 | return (status, output) | 97 | return (status, output) |
| @@ -206,7 +206,7 @@ class OESSHTarget(OETarget): | |||
| 206 | remoteDir = os.path.join(remotePath, tmpDir.lstrip("/")) | 206 | remoteDir = os.path.join(remotePath, tmpDir.lstrip("/")) |
| 207 | self.deleteDir(remoteDir) | 207 | self.deleteDir(remoteDir) |
| 208 | 208 | ||
| 209 | def SSHCall(command, logger, timeout=None, **opts): | 209 | def SSHCall(command, logger, timeout=None, raw=False, **opts): |
| 210 | 210 | ||
| 211 | def run(): | 211 | def run(): |
| 212 | nonlocal output | 212 | nonlocal output |
| @@ -265,7 +265,7 @@ def SSHCall(command, logger, timeout=None, **opts): | |||
| 265 | else: | 265 | else: |
| 266 | output_raw = process.communicate()[0] | 266 | output_raw = process.communicate()[0] |
| 267 | 267 | ||
| 268 | output = output_raw.decode('utf-8', errors='ignore') | 268 | output = output_raw if raw else output_raw.decode('utf-8', errors='ignore') |
| 269 | logger.debug('Data from SSH call:\n%s' % output.rstrip()) | 269 | logger.debug('Data from SSH call:\n%s' % output.rstrip()) |
| 270 | 270 | ||
| 271 | # timout or not, make sure process exits and is not hanging | 271 | # timout or not, make sure process exits and is not hanging |
| @@ -292,7 +292,7 @@ def SSHCall(command, logger, timeout=None, **opts): | |||
| 292 | 292 | ||
| 293 | options = { | 293 | options = { |
| 294 | "stdout": subprocess.PIPE, | 294 | "stdout": subprocess.PIPE, |
| 295 | "stderr": subprocess.STDOUT, | 295 | "stderr": subprocess.STDOUT if not raw else None, |
| 296 | "stdin": None, | 296 | "stdin": None, |
| 297 | "shell": False, | 297 | "shell": False, |
| 298 | "bufsize": -1, | 298 | "bufsize": -1, |
| @@ -320,4 +320,4 @@ def SSHCall(command, logger, timeout=None, **opts): | |||
| 320 | logger.debug('Something went wrong, killing SSH process') | 320 | logger.debug('Something went wrong, killing SSH process') |
| 321 | raise | 321 | raise |
| 322 | 322 | ||
| 323 | return (process.returncode, output.rstrip()) | 323 | return (process.returncode, output if raw else output.rstrip()) |
