From 74bc0293574ecb6a855af5a4a6fe4319978b27cd Mon Sep 17 00:00:00 2001 From: Yung-Yu Chen Date: Wed, 27 Jul 2016 22:51:44 +0800 Subject: [PATCH] Fix ftests/parallel/test_remote.py. The ssh-based remote procedure call was broken because of py3k compat. --- .travis.yml | 3 +-- contrib/release.sh | 4 ++-- solvcon/batch.py | 3 ++- solvcon/connection.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index c21fc50b..704d3e1c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -84,8 +84,7 @@ script: - cd ${TRAVIS_BUILD_DIR} - python setup.py build_ext --inplace - nosetests --with-doctest - - nosetests ftests/parallel/test_builtin.py - - nosetests ftests/parallel/test_rpc.py + - nosetests ftests/parallel/* # Package - cd ${TRAVIS_BUILD_DIR} - contrib/release.sh diff --git a/contrib/release.sh b/contrib/release.sh index a408fc1d..eafe9259 100755 --- a/contrib/release.sh +++ b/contrib/release.sh @@ -11,6 +11,6 @@ tar xfz SOLVCON-${SCVER}.tar.gz cd SOLVCON-${SCVER} python setup.py build_ext --inplace # test. +PYTHONPATH=`pwd` nosetests --with-doctest -nosetests ftests/parallel/test_builtin.py -nosetests ftests/parallel/test_rpc.py +nosetests ftests/parallel/* diff --git a/solvcon/batch.py b/solvcon/batch.py index f882ded3..7d032ad1 100644 --- a/solvcon/batch.py +++ b/solvcon/batch.py @@ -332,12 +332,13 @@ def create_worker_ssh(self, node, authkey, raise IOError('remote port detection fails') # create remote worker objects and return. pdata = str(profiler_data).replace("'", '"') + authkeystr = authkey.decode("utf8") remote([ 'import os', 'os.chdir("%s")' % os.path.abspath(os.getcwd()), 'from solvcon.rpc import Worker', 'wkr = Worker(None, profiler_data=%s)' % pdata, - 'wkr.run(("%s", %d), "%s")' % (node.address, port, authkey), + 'wkr.run(("%s", %d), b"%s")' % (node.address, port, authkeystr), ], envar=envar) return port diff --git a/solvcon/connection.py b/solvcon/connection.py index 5b571d16..58c23fe3 100644 --- a/solvcon/connection.py +++ b/solvcon/connection.py @@ -191,8 +191,8 @@ def Client(address, family=None, authkey=None): timeout = time.time() + CLIENT_TIMEOUT family = family or guess_family(address) # create socket. - skt = socket.socket(getattr(socket, family)) while True: + skt = socket.socket(getattr(socket, family)) try: skt.connect(address) except socket.error as e: