Support for paramiko remote objects.
"""
-from six import ensure_str
-
import teuthology.lock.query
import teuthology.lock.util
from teuthology.orchestra import run
kwargs['stdout'] = BytesIO()
if 'args' not in kwargs:
kwargs['args'] = script
- proc=self.run(**kwargs)
- out=proc.stdout.getvalue()
- return ensure_str(out)
+ proc = self.run(**kwargs)
+ out = proc.stdout.getvalue()
+ if isinstance(out, bytes):
+ return out.decode()
+ else:
+ return out
def sh_file(self, script, label="script", sudo=False, **kwargs):
"""
from mock import MagicMock, patch
from pytest import raises
-from six import ensure_str, ensure_binary, PY2
-
from teuthology.orchestra import run
from teuthology.exceptions import (CommandCrashedError, CommandFailedError,
ConnectionLostError)
elif isinstance(contents, (list, tuple)):
buf.writelines(contents)
elif isinstance(contents, str):
- buf.write(ensure_binary(contents))
+ buf.write(contents.encode())
else:
raise TypeError(
"%s is a %s; should be a byte string, list or tuple" % (
stdout=stdout,
)
assert proc.stdout is stdout
- assert ensure_str(proc.stdout.read()) == output
- assert ensure_str(proc.stdout.getvalue()) == output
+ assert proc.stdout.read().decode() == output
+ assert proc.stdout.getvalue().decode() == output
def test_capture_stderr_newline(self):
output = 'foo\nbar\n'
stderr=stderr,
)
assert proc.stderr is stderr
- assert ensure_str(proc.stderr.read()) == output
- assert ensure_str(proc.stderr.getvalue()) == output
+ assert proc.stderr.read().decode() == output
+ assert proc.stderr.getvalue().decode() == output
def test_status_bad(self):
self.m_stdout_buf.channel.recv_exit_status.return_value = 42
run.copy_and_close(None, MagicMock())
run.copy_and_close('', MagicMock())
run.copy_and_close(b'', MagicMock())
- if PY2:
- run.copy_and_close(u'', MagicMock())
-
class TestQuote(object):