diff --git a/.zuul.yaml b/.zuul.yaml index 0633b1c76..7451ba34f 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -196,16 +196,19 @@ - project: name: openstack/python-openstacksdk templates: - - openstack-pypy-jobs - openstacksdk-functional-tips - openstacksdk-tox-tips check: jobs: + - openstack-tox-pypy: + nodeset: fedora-26 - openstacksdk-functional-devstack - openstacksdk-functional-devstack-magnum: voting: false - openstacksdk-functional-devstack-python3 gate: jobs: + - openstack-tox-pypy: + nodeset: fedora-26 - openstacksdk-functional-devstack - openstacksdk-functional-devstack-python3 diff --git a/bindep.txt b/bindep.txt index e5d10a394..7f205ffc8 100644 --- a/bindep.txt +++ b/bindep.txt @@ -6,3 +6,7 @@ python-dev [platform:dpkg] python-devel [platform:rpm] libffi-dev [platform:dpkg] libffi-devel [platform:rpm] +openssl-devel [platform:rpm] +pypy [pypy] +pypy-dev [platform:dpkg pypy] +pypy-devel [platform:rpm pypy] diff --git a/openstack/tests/unit/cloud/test_create_server.py b/openstack/tests/unit/cloud/test_create_server.py index ba969011a..b37b14f3d 100644 --- a/openstack/tests/unit/cloud/test_create_server.py +++ b/openstack/tests/unit/cloud/test_create_server.py @@ -376,7 +376,8 @@ class TestCreateServer(base.RequestsMockTestCase): Test that a server passed user-data sends it base64 encoded. """ user_data = self.getUniqueString('user_data') - user_data_b64 = base64.b64encode(user_data).decode('utf-8') + user_data_b64 = base64.b64encode( + user_data.encode('utf-8')).decode('utf-8') fake_server = fakes.make_fake_server('1234', '', 'BUILD') fake_server['user_data'] = user_data diff --git a/openstack/tests/unit/test_resource2.py b/openstack/tests/unit/test_resource2.py index 8f72dbfdd..28e1c224a 100644 --- a/openstack/tests/unit/test_resource2.py +++ b/openstack/tests/unit/test_resource2.py @@ -1307,8 +1307,10 @@ class TestResourceFind(base.TestCase): @classmethod def existing(cls, **kwargs): + response = mock.Mock() + response.status_code = 404 raise exceptions.NotFoundException( - 'Not Found', response=mock.Mock()) + 'Not Found', response=response) @classmethod def list(cls, session): @@ -1485,6 +1487,7 @@ class TestWaitForDelete(base.TestCase): def test_success(self, mock_sleep): response = mock.Mock() response.headers = {} + response.status_code = 404 resource = mock.Mock() resource.get.side_effect = [ None, None, diff --git a/tox.ini b/tox.ini index a419cf316..ff30ac7de 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,6 @@ skipsdist = True [testenv] usedevelop = True -basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2} passenv = UPPER_CONSTRAINTS_FILE install_command = {toxinidir}/tools/tox_install.sh {env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} setenv = @@ -25,6 +24,7 @@ commands = stestr --test-path ./openstack/tests/examples run {posargs} stestr slowest [testenv:functional] +basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2} passenv = OS_* OPENSTACKSDK_* UPPER_CONSTRAINTS_FILE commands = stestr --test-path ./openstack/tests/functional run --serial {posargs} stestr slowest @@ -55,6 +55,7 @@ commands = [testenv:ansible] # Need to pass some env vars for the Ansible playbooks +basepython = {env:OPENSTACKSDK_TOX_PYTHON:python2} passenv = HOME USER commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs}