diff --git a/cinder/tests/unit/volume/drivers/test_tintri.py b/cinder/tests/unit/volume/drivers/test_tintri.py index 8509e00bb3c..0de9757d634 100644 --- a/cinder/tests/unit/volume/drivers/test_tintri.py +++ b/cinder/tests/unit/volume/drivers/test_tintri.py @@ -15,6 +15,7 @@ Volume driver test for Tintri storage. """ +import ddt import mock from oslo_utils import units @@ -40,6 +41,7 @@ class FakeImage(object): return self.__dict__[key] +@ddt.ddt class TintriDriverTestCase(test.TestCase): def setUp(self): super(TintriDriverTestCase, self).setUp() @@ -250,14 +252,16 @@ class TintriDriverTestCase(test.TestCase): self._driver.manage_existing, volume, existing) - def test_manage_existing_get_size(self): + @ddt.data((123, 123), (123.5, 124)) + @ddt.unpack + def test_manage_existing_get_size(self, st_size, exp_size): volume = fake_volume.fake_volume_obj(self.context) existing = {'source-name': self._provider_location + '/' + volume.name} - file = mock.Mock(st_size=123 * units.Gi) + file = mock.Mock(st_size=int(st_size * units.Gi)) with mock.patch('os.path.isfile', return_value=True): with mock.patch('os.stat', return_value=file): - self.assertEqual(float(file.st_size / units.Gi), + self.assertEqual(exp_size, self._driver.manage_existing_get_size( volume, existing)) diff --git a/cinder/volume/drivers/tintri.py b/cinder/volume/drivers/tintri.py index 1dd492c562d..23906f1a0c0 100644 --- a/cinder/volume/drivers/tintri.py +++ b/cinder/volume/drivers/tintri.py @@ -735,8 +735,8 @@ class TintriDriver(driver.ManageableVD, try: volume_path = os.path.join(nfs_mount, volume_name) - vol_size = math.ceil(float(utils.get_file_size(volume_path)) / - units.Gi) + vol_size = int(math.ceil(float(utils.get_file_size(volume_path)) / + units.Gi)) except OSError: msg = (_('Failed to get size of volume %s') % existing_ref['source-name'])