]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Port WSGI tests to Python 3
authorVictor Stinner <vstinner@redhat.com>
Wed, 7 Oct 2015 15:38:12 +0000 (17:38 +0200)
committerJohn Griffith <john.griffith8@gmail.com>
Tue, 13 Oct 2015 18:25:51 +0000 (18:25 +0000)
commitd7dddd19da79602f3961f8ca4054de6fb0f4b2c8
tree50202c3174bee868a41b002d31dd331d0b1e885e
parent7fb767f2d652f070a20fd70d92585d61e56f3a50
Port WSGI tests to Python 3

* Replace dict.keys()[0] with list(data.keys())[0]. On Python 3,
  dict.keys() now returns a view which is not indexable.
* Skip SSL tests on Python 3. Tests hang for an unknown reason, they
  must be fixed later.
* Fix unit tests: HTTP body type is bytes, not Unicode.
* Debug.print_generator(): on Python 3, write into sys.stdout.buffer
  instead of sys.stdout, because HTTP body type is bytes not Unicode.
* ResponseObject: encode serializer output to UTF-8 if it's Unicode.
* tox.ini: add the following tests to Python 3.4

  - cinder.tests.unit.api.openstack.test_wsgi
  - cinder.tests.unit.wsgi

Note: Ignore pylint error E1101 on sys.stdout.buffer. pylint on
Python 2 complains that the buffer attribute doesn't exist, whereas
the code is only executed on Python 3 and the attribute exists on
Python 3.

Related-Bug: #1505103
Partial-Implements: blueprint cinder-python3
Change-Id: I0db0e04010e41be71192a2e4db13829114ad6eef
cinder/api/openstack/wsgi.py
cinder/tests/unit/api/openstack/test_wsgi.py
cinder/tests/unit/wsgi/test_eventlet_server.py
cinder/tests/unit/wsgi/test_wsgi.py
cinder/wsgi/common.py
tests-py3.txt