def test_paramiko(self):
        # Subprocess will fire up the child without a PTY, and therefore the
        # child will elect to use Paramiko instead of openssh.
        for vm in self.vms:
            libdir = os.path.join(testenv.topdir, 'lib')
            env = os.environ.copy()
            env['PYTHONPATH'] = libdir
            command =  [sys.executable, '-mtestmill.main']
            command += get_common_args()
            command += ['-m', 'platformtest.yml', 'ssh', self.appname, vm]
            child = subprocess.Popen(command, env=env, stdin=subprocess.PIPE,
                             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            script = "echo 'Hello from remote!'\nexit\n"
            stdout, stderr = child.communicate(script)
            # Note: without a TTY, \n stays \n. Output is still echoed. We
            # can distinguish between the echo'd command and the actual output
            # because the output does not contain a closing single quote (that
            # was escaped away by the remote bash.
            assert 'Hello from remote!\n' in stdout
dataset/ETHPy150Open ravello/testmill/lib/testmill/test/test_ssh.py/TestSSH.test_paramiko/original