]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Port test_volume to Python 3
authorVictor Stinner <vstinner@redhat.com>
Fri, 21 Aug 2015 16:47:50 +0000 (09:47 -0700)
committerVictor Stinner <vstinner@redhat.com>
Tue, 29 Sep 2015 12:22:40 +0000 (14:22 +0200)
commit068db12d099b1fceeeea9247026aac7d861ac40f
tree63ec8009d729bfa90770f4eb1c7df676371020fa
parentf6c1a7399cb8906a29e5aada290c68d1115e58f6
Port test_volume to Python 3

* don't use hasttr() to check if a lazy SQLAlchemy is loaded or not: use
  the obj_attr_is_set() method instead. On Python 3, hasattr() pass
  through SQLAlchemy exceptions which is unexpected.
* Replace a/b with a//b to use integer division, not float division.
* Replace filter() with list-comprehension using an if.
* Replace file() with open() and open /dev/null in binary mode (not text
  mode, so Unicode on Python 3).
* test_volume require "import cinder.volume.targets.tgt" on Python 3
* Use a key function to sort a list of dictionaries. Dictionaries are no
  more comparable on Python 3.
* tox.ini: add the following tests to Python 3.4.

  - cinder.tests.unit.keymgr.test_mock_key_mgr
  - cinder.tests.unit.test_volume

Note: test_list_availability_zones_enabled_service() of test_volume
was broken, the test checked that the result of .sort() is None...

Blueprint cinder-python3
Change-Id: If1a26acc0138db9bda7fde1cb1f40093d9b3c494
cinder/tests/unit/keymgr/mock_key_mgr.py
cinder/tests/unit/keymgr/test_mock_key_mgr.py
cinder/tests/unit/test_volume.py
cinder/volume/api.py
cinder/volume/flows/api/create_volume.py
cinder/volume/manager.py
tox.ini