diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2016-12-05 16:11:54 -0500 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-01-12 18:25:04 -0800 |
commit | f036e9898a69f5041f9cde02e3652c29e2de1643 (patch) | |
tree | 36e5eea75811bb640bb30f442f5a3c617e945909 /tests/functional/utils.py | |
parent | 5f0b3d417244397b2d5e61c7a6ddd145f1d25046 (diff) |
Add support for Python 3
Porting to Python3 using Openstack guidelines:
https://wiki.openstack.org/wiki/Python3
This passes unittests on Python 3.5 and passes opnfv_smoke suite
Updates:
use six for urlparse and urlopen
fix exception.message attribute removal
run unittests on python3
use unitest.mock on python 3
fix open mock for vsperf
fix float division by using delta/eplison comparison
use unicode in StringIO
use plugin/sample_config.yaml relative path from test case
fixed apexlake unittests
upgraded to mock 2.0.0 to match python3 unittest.mock features
fixed flake8 issues
implement safe JSON decode with oslo_serialization.jsonutils.dump_as_bytes()
implement safe unicode encode/decode with oslo_utils.encodeutils
heat: convert pub key file from bytes to unicode
pkg_resources returns raw bytes, in python3
we have to decode this to utf-8 unicode
so JSON can encode it for heat template
JIRA: YARDSTICK-452
Change-Id: Ib80dd1d0c0eb0592acd832b82f6a7f8f7c20bfda
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'tests/functional/utils.py')
-rwxr-xr-x | tests/functional/utils.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/tests/functional/utils.py b/tests/functional/utils.py index aaaaaac22..b96d2dd50 100755 --- a/tests/functional/utils.py +++ b/tests/functional/utils.py @@ -7,13 +7,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +from __future__ import absolute_import + import copy -import json import os -import shutil import subprocess - +from oslo_serialization import jsonutils from oslo_utils import encodeutils @@ -40,11 +40,11 @@ class Yardstick(object): """Call yardstick in the shell :param cmd: yardstick command - :param getjson: in cases, when yardstick prints JSON, you can catch output - deserialized + :param getjson: in cases, when yardstick prints JSON, you can catch + output deserialized TO DO: - :param report_path: if present, yardstick command and its output will be - written to file with passed file name + :param report_path: if present, yardstick command and its output will + be written to file with passed file name :param raw: don't write command itself to report file. Only output will be written """ @@ -53,11 +53,11 @@ class Yardstick(object): cmd = cmd.split(" ") try: output = encodeutils.safe_decode(subprocess.check_output( - self.args + cmd, stderr=subprocess.STDOUT, env=self.env)) + self.args + cmd, stderr=subprocess.STDOUT, env=self.env), + 'utf-8') if getjson: - return json.loads(output) + return jsonutils.loads(output) return output except subprocess.CalledProcessError as e: raise e - |