From b12d8502226f56421bbe90747cf1727222c6e6fa Mon Sep 17 00:00:00 2001 From: Sirushti Murugesan Date: Mon, 12 Oct 2015 17:23:06 +0530 Subject: [PATCH] Fix functional tests for Python 3.4 * shlex.split() expects a string. Not bytes. * decode the bytestring result of subprocess's communicate() to a string. Change-Id: I209f67a91dc609b1e30cb9e683d3d6ee63d00069 --- functional/common/test.py | 3 ++- functional/tests/compute/v2/test_server.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/functional/common/test.py b/functional/common/test.py index 50d59fd19f..2fc355f82f 100644 --- a/functional/common/test.py +++ b/functional/common/test.py @@ -28,13 +28,14 @@ EXAMPLE_DIR = os.path.join(ROOT_DIR, 'examples') def execute(cmd, fail_ok=False, merge_stderr=False): """Executes specified command for the given action.""" - cmdlist = shlex.split(cmd.encode('utf-8')) + cmdlist = shlex.split(cmd) result = '' result_err = '' stdout = subprocess.PIPE stderr = subprocess.STDOUT if merge_stderr else subprocess.PIPE proc = subprocess.Popen(cmdlist, stdout=stdout, stderr=stderr) result, result_err = proc.communicate() + result = result.decode('utf-8') if not fail_ok and proc.returncode != 0: raise exceptions.CommandFailed(proc.returncode, cmd, result, result_err) diff --git a/functional/tests/compute/v2/test_server.py b/functional/tests/compute/v2/test_server.py index a6cc98e621..bd1b2a876b 100644 --- a/functional/tests/compute/v2/test_server.py +++ b/functional/tests/compute/v2/test_server.py @@ -32,14 +32,14 @@ class ServerTests(test.TestCase): def get_flavor(cls): raw_output = cls.openstack('flavor list -f value -c ID') ray = raw_output.split('\n') - idx = len(ray)/2 + idx = int(len(ray)/2) return ray[idx] @classmethod def get_image(cls): raw_output = cls.openstack('image list -f value -c ID') ray = raw_output.split('\n') - idx = len(ray)/2 + idx = int(len(ray)/2) return ray[idx] @classmethod @@ -49,7 +49,7 @@ class ServerTests(test.TestCase): except exceptions.CommandFailed: return '' ray = raw_output.split('\n') - idx = len(ray)/2 + idx = int(len(ray)/2) return ' --nic net-id=' + ray[idx] @classmethod