summaryrefslogtreecommitdiff
path: root/tests/qemu-iotests/118
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-09-23 16:15:33 +0100
committerPeter Maydell <peter.maydell@linaro.org>2016-09-23 16:15:33 +0100
commit3b71ec8516bb50e9a743645bf139571de0b39f61 (patch)
tree95504b00e2940f8b23d33618b3afa9aa2ca99f5d /tests/qemu-iotests/118
parenteaff9c4367ac3f7ac44f6c6f4cb7bcd4daa89af5 (diff)
parent9ec8873e684c2dae6fadb3a801057c613ccd2a6b (diff)
downloadqemu-3b71ec8516bb50e9a743645bf139571de0b39f61.tar.gz
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches # gpg: Signature made Fri 23 Sep 2016 12:59:46 BST # gpg: using RSA key 0x7F09B272C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * remotes/kevin/tags/for-upstream: (33 commits) block: Remove BB interface from blockdev-add/del qemu-iotests/141: Avoid blockdev-add with id block: Avoid printing NULL string in error messages qemu-iotests/139: Avoid blockdev-add with id qemu-iotests/124: Avoid blockdev-add with id qemu-iotests/118: Avoid blockdev-add with id qemu-iotests/117: Avoid blockdev-add with id qemu-iotests/087: Avoid blockdev-add with id qemu-iotests/081: Avoid blockdev-add with id qemu-iotests/071: Avoid blockdev-add with id qemu-iotests/067: Avoid blockdev-add with id qemu-iotests/041: Avoid blockdev-add with id qemu-iotests/118: Test media change with qdev name block: Accept device model name for block_set_io_throttle block: Accept device model name for blockdev-change-medium block: Accept device model name for eject block: Accept device model name for x-blockdev-remove-medium block: Accept device model name for x-blockdev-insert-medium block: Accept device model name for blockdev-open/close-tray qdev-monitor: Add blk_by_qdev_id() ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/qemu-iotests/118')
-rwxr-xr-xtests/qemu-iotests/11891
1 files changed, 69 insertions, 22 deletions
diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118
index 9e5951f645..e63a40fa94 100755
--- a/tests/qemu-iotests/118
+++ b/tests/qemu-iotests/118
@@ -62,6 +62,9 @@ class ChangeBaseClass(iotests.QMPTestCase):
self.fail('Timeout while waiting for the tray to close')
class GeneralChangeTestsBaseClass(ChangeBaseClass):
+
+ device_name = None
+
def test_change(self):
result = self.vm.qmp('change', device='drive0', target=new_img,
arg=iotests.imgfmt)
@@ -76,9 +79,15 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
def test_blockdev_change_medium(self):
- result = self.vm.qmp('blockdev-change-medium', device='drive0',
- filename=new_img,
- format=iotests.imgfmt)
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-change-medium',
+ id=self.device_name, filename=new_img,
+ format=iotests.imgfmt)
+ else:
+ result = self.vm.qmp('blockdev-change-medium',
+ device='drive0', filename=new_img,
+ format=iotests.imgfmt)
+
self.assert_qmp(result, 'return', {})
self.wait_for_open()
@@ -90,7 +99,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
def test_eject(self):
- result = self.vm.qmp('eject', device='drive0', force=True)
+ if self.device_name is not None:
+ result = self.vm.qmp('eject', id=self.device_name, force=True)
+ else:
+ result = self.vm.qmp('eject', device='drive0', force=True)
self.assert_qmp(result, 'return', {})
self.wait_for_open()
@@ -101,7 +113,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp_absent(result, 'return[0]/inserted')
def test_tray_eject_change(self):
- result = self.vm.qmp('eject', device='drive0', force=True)
+ if self.device_name is not None:
+ result = self.vm.qmp('eject', id=self.device_name, force=True)
+ else:
+ result = self.vm.qmp('eject', device='drive0', force=True)
self.assert_qmp(result, 'return', {})
self.wait_for_open()
@@ -111,9 +126,12 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/tray_open', True)
self.assert_qmp_absent(result, 'return[0]/inserted')
- result = self.vm.qmp('blockdev-change-medium', device='drive0',
- filename=new_img,
- format=iotests.imgfmt)
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
+ filename=new_img, format=iotests.imgfmt)
+ else:
+ result = self.vm.qmp('blockdev-change-medium', device='drive0',
+ filename=new_img, format=iotests.imgfmt)
self.assert_qmp(result, 'return', {})
self.wait_for_close()
@@ -124,7 +142,12 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
def test_tray_open_close(self):
- result = self.vm.qmp('blockdev-open-tray', device='drive0', force=True)
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-open-tray',
+ id=self.device_name, force=True)
+ else:
+ result = self.vm.qmp('blockdev-open-tray',
+ device='drive0', force=True)
self.assert_qmp(result, 'return', {})
self.wait_for_open()
@@ -137,7 +160,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
else:
self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
- result = self.vm.qmp('blockdev-close-tray', device='drive0')
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
+ else:
+ result = self.vm.qmp('blockdev-close-tray', device='drive0')
self.assert_qmp(result, 'return', {})
if self.has_real_tray or not self.was_empty:
@@ -162,7 +188,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/tray_open', True)
self.assert_qmp_absent(result, 'return[0]/inserted')
- result = self.vm.qmp('blockdev-close-tray', device='drive0')
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
+ else:
+ result = self.vm.qmp('blockdev-close-tray', device='drive0')
self.assert_qmp(result, 'return', {})
self.wait_for_close()
@@ -206,7 +235,12 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
'driver': 'file'}})
self.assert_qmp(result, 'return', {})
- result = self.vm.qmp('blockdev-open-tray', device='drive0', force=True)
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-open-tray',
+ id=self.device_name, force=True)
+ else:
+ result = self.vm.qmp('blockdev-open-tray',
+ device='drive0', force=True)
self.assert_qmp(result, 'return', {})
self.wait_for_open()
@@ -219,7 +253,11 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
else:
self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
- result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
+ if self.device_name is not None:
+ result = self.vm.qmp('x-blockdev-remove-medium',
+ id=self.device_name)
+ else:
+ result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
self.assert_qmp(result, 'return', {})
result = self.vm.qmp('query-block')
@@ -227,8 +265,12 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/tray_open', True)
self.assert_qmp_absent(result, 'return[0]/inserted')
- result = self.vm.qmp('x-blockdev-insert-medium', device='drive0',
- node_name='new')
+ if self.device_name is not None:
+ result = self.vm.qmp('x-blockdev-insert-medium',
+ id=self.device_name, node_name='new')
+ else:
+ result = self.vm.qmp('x-blockdev-insert-medium',
+ device='drive0', node_name='new')
self.assert_qmp(result, 'return', {})
result = self.vm.qmp('query-block')
@@ -236,7 +278,10 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
self.assert_qmp(result, 'return[0]/tray_open', True)
self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
- result = self.vm.qmp('blockdev-close-tray', device='drive0')
+ if self.device_name is not None:
+ result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
+ else:
+ result = self.vm.qmp('blockdev-close-tray', device='drive0')
self.assert_qmp(result, 'return', {})
self.wait_for_close()
@@ -280,7 +325,13 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass):
def setUp(self, media, interface):
qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
- self.vm = iotests.VM().add_drive(old_img, 'media=%s' % media, interface)
+ self.vm = iotests.VM()
+ if interface == 'ide':
+ self.device_name = 'qdev0'
+ self.vm.add_drive(old_img, 'media=%s' % media, 'none')
+ self.vm.add_device('ide-cd,drive=drive0,id=%s' % self.device_name)
+ else:
+ self.vm.add_drive(old_img, 'media=%s' % media, interface)
self.vm.launch()
def tearDown(self):
@@ -597,13 +648,9 @@ class TestBlockJobsAfterCycle(ChangeBaseClass):
qemu_img('create', '-f', iotests.imgfmt, old_img, '1M')
self.vm = iotests.VM()
+ self.vm.add_drive_raw("id=drive0,driver=null-co,if=none")
self.vm.launch()
- result = self.vm.qmp('blockdev-add',
- options={'id': 'drive0',
- 'driver': 'null-co'})
- self.assert_qmp(result, 'return', {})
-
result = self.vm.qmp('query-block')
self.assert_qmp(result, 'return[0]/inserted/image/format', 'null-co')