Merge "Move to a more canonicalized output from qemu-img info."
This commit is contained in:
@@ -21,7 +21,7 @@ from nova.virt import images
|
||||
|
||||
|
||||
class ImageUtilsTestCase(test.TestCase):
|
||||
def test_qemu_info(self):
|
||||
def test_qemu_info_canon(self):
|
||||
path = "disk.config"
|
||||
example_output = """image: disk.config
|
||||
file format: raw
|
||||
@@ -35,14 +35,35 @@ blah BLAH: bb
|
||||
'qemu-img', 'info', path).AndReturn((example_output, ''))
|
||||
self.mox.ReplayAll()
|
||||
image_info = images.qemu_img_info(path)
|
||||
self.assertEquals('disk.config', image_info['image'])
|
||||
self.assertEquals('raw', image_info['file format'])
|
||||
self.assertEquals('64M (67108864 bytes)', image_info['virtual size'])
|
||||
self.assertEquals('96K', image_info['disk size'])
|
||||
self.assertEquals('bb', image_info['blah blah'])
|
||||
self.assertEquals("65536", image_info['cluster_size'])
|
||||
self.assertEquals('disk.config', image_info.image)
|
||||
self.assertEquals('raw', image_info.file_format)
|
||||
self.assertEquals(67108864, image_info.virtual_size)
|
||||
self.assertEquals(98304, image_info.disk_size)
|
||||
self.assertEquals(65536, image_info.cluster_size)
|
||||
|
||||
def test_qemu_info_snap(self):
|
||||
def test_qemu_info_canon2(self):
|
||||
path = "disk.config"
|
||||
example_output = """image: disk.config
|
||||
file format: QCOW2
|
||||
virtual size: 67108844
|
||||
cluster_size: 65536
|
||||
disk size: 963434
|
||||
backing file: /var/lib/nova/a328c7998805951a_2
|
||||
"""
|
||||
self.mox.StubOutWithMock(utils, 'execute')
|
||||
utils.execute('env', 'LC_ALL=C', 'LANG=C',
|
||||
'qemu-img', 'info', path).AndReturn((example_output, ''))
|
||||
self.mox.ReplayAll()
|
||||
image_info = images.qemu_img_info(path)
|
||||
self.assertEquals('disk.config', image_info.image)
|
||||
self.assertEquals('qcow2', image_info.file_format)
|
||||
self.assertEquals(67108844, image_info.virtual_size)
|
||||
self.assertEquals(963434, image_info.disk_size)
|
||||
self.assertEquals(65536, image_info.cluster_size)
|
||||
self.assertEquals('/var/lib/nova/a328c7998805951a_2',
|
||||
image_info.backing_file)
|
||||
|
||||
def test_qemu_backing_file_actual(self):
|
||||
path = "disk.config"
|
||||
example_output = """image: disk.config
|
||||
file format: raw
|
||||
@@ -52,18 +73,63 @@ disk size: 96K
|
||||
Snapshot list:
|
||||
ID TAG VM SIZE DATE VM CLOCK
|
||||
1 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
backing file: /var/lib/nova/a328c7998805951a_2 (actual path: /b/3a988059e51a_2)
|
||||
"""
|
||||
self.mox.StubOutWithMock(utils, 'execute')
|
||||
utils.execute('env', 'LC_ALL=C', 'LANG=C',
|
||||
'qemu-img', 'info', path).AndReturn((example_output, ''))
|
||||
self.mox.ReplayAll()
|
||||
image_info = images.qemu_img_info(path)
|
||||
self.assertEquals('disk.config', image_info['image'])
|
||||
self.assertEquals('raw', image_info['file format'])
|
||||
self.assertEquals('64M (67108864 bytes)', image_info['virtual size'])
|
||||
self.assertEquals('96K', image_info['disk size'])
|
||||
self.assertEquals("65536", image_info['cluster_size'])
|
||||
# This would be triggered if the split encountered this section
|
||||
self.assertNotIn('snapshot list', image_info)
|
||||
bad_cap = '1 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10'
|
||||
self.assertNotIn(bad_cap, image_info)
|
||||
self.assertEquals('disk.config', image_info.image)
|
||||
self.assertEquals('raw', image_info.file_format)
|
||||
self.assertEquals(67108864, image_info.virtual_size)
|
||||
self.assertEquals(98304, image_info.disk_size)
|
||||
self.assertEquals(1, len(image_info.snapshots))
|
||||
self.assertEquals('/b/3a988059e51a_2',
|
||||
image_info.backing_file)
|
||||
|
||||
def test_qemu_info_convert(self):
|
||||
path = "disk.config"
|
||||
example_output = """image: disk.config
|
||||
file format: raw
|
||||
virtual size: 64M
|
||||
disk size: 96K
|
||||
Snapshot list:
|
||||
ID TAG VM SIZE DATE VM CLOCK
|
||||
1 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
3 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
4 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
junk stuff: bbb
|
||||
"""
|
||||
self.mox.StubOutWithMock(utils, 'execute')
|
||||
utils.execute('env', 'LC_ALL=C', 'LANG=C',
|
||||
'qemu-img', 'info', path).AndReturn((example_output, ''))
|
||||
self.mox.ReplayAll()
|
||||
image_info = images.qemu_img_info(path)
|
||||
self.assertEquals('disk.config', image_info.image)
|
||||
self.assertEquals('raw', image_info.file_format)
|
||||
self.assertEquals(67108864, image_info.virtual_size)
|
||||
self.assertEquals(98304, image_info.disk_size)
|
||||
|
||||
def test_qemu_info_snaps(self):
|
||||
path = "disk.config"
|
||||
example_output = """image: disk.config
|
||||
file format: raw
|
||||
virtual size: 64M (67108864 bytes)
|
||||
disk size: 96K
|
||||
Snapshot list:
|
||||
ID TAG VM SIZE DATE VM CLOCK
|
||||
1 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
3 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
4 d9a9784a500742a7bb95627bb3aace38 0 2012-08-20 10:52:46 00:00:00.000
|
||||
"""
|
||||
self.mox.StubOutWithMock(utils, 'execute')
|
||||
utils.execute('env', 'LC_ALL=C', 'LANG=C',
|
||||
'qemu-img', 'info', path).AndReturn((example_output, ''))
|
||||
self.mox.ReplayAll()
|
||||
image_info = images.qemu_img_info(path)
|
||||
self.assertEquals('disk.config', image_info.image)
|
||||
self.assertEquals('raw', image_info.file_format)
|
||||
self.assertEquals(67108864, image_info.virtual_size)
|
||||
self.assertEquals(98304, image_info.disk_size)
|
||||
self.assertEquals(3, len(image_info.snapshots))
|
||||
|
||||
Reference in New Issue
Block a user