qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PULL 06/29] iotests: Make BD-{remove, ins


From: Christian Borntraeger
Subject: Re: [Qemu-block] [Qemu-devel] [PULL 06/29] iotests: Make BD-{remove, insert}-medium use @id
Date: Mon, 12 Feb 2018 12:16:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 01/23/2018 03:01 PM, Kevin Wolf wrote:
> From: Max Reitz <address@hidden>
> 
> In some cases, these commands still use the deprecated @device
> parameter.  Fix that so we can later drop that parameter from their
> interface.
> 
> Signed-off-by: Max Reitz <address@hidden>
> Message-id: address@hidden
> Reviewed-by: Alberto Garcia <address@hidden>
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  tests/qemu-iotests/118 | 184 
> +++++++++++++++++++++++--------------------------
>  tests/qemu-iotests/155 |  60 ++++++++--------

This broke 155 on s390:

-...................
+EEEEEEEEEEEEEEEEEEE
+======================================================================
+ERROR: testFull (__main__.TestBlockdevMirrorBacking)
+----------------------------------------------------------------------
+Traceback (most recent call last):
+  File "155", line 68, in setUp
+    self.vm.launch()
+  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qemu.py", 
line 203, in launch
+    self._post_launch()
+  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qtest.py", 
line 100, in _post_launch
+    super(QEMUQtestMachine, self)._post_launch()
+  File "/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qemu.py", 
line 181, in _post_launch
+    self._qmp.accept()
+  File 
"/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
157, in accept
+    return self.__negotiate_capabilities()
+  File 
"/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
75, in __negotiate_capabilities
+    resp = self.cmd('qmp_capabilities')
+  File 
"/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
191, in cmd
+    return self.cmd_obj(qmp_cmd)
+  File 
"/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
174, in cmd_obj
+    resp = self.__json_read()
+  File 
"/home/cborntra/REPOS/qemu/tests/qemu-iotests/../../scripts/qmp/qmp.py", line 
82, in __json_read
+    data = self.__sockfile.readline()
+  File "/usr/lib64/python2.7/socket.py", line 451, in readline
+    data = self._sock.recv(self._rbufsize)
+error: [Errno 104] Connection reset by peer
[...]



>  2 files changed, 113 insertions(+), 131 deletions(-)
> 
> diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118
> index 8a9e838c90..ca6965d23c 100755
> --- a/tests/qemu-iotests/118
> +++ b/tests/qemu-iotests/118
> @@ -28,6 +28,14 @@ from iotests import qemu_img
>  old_img = os.path.join(iotests.test_dir, 'test0.img')
>  new_img = os.path.join(iotests.test_dir, 'test1.img')
> 
> +def interface_to_device_name(interface):
> +    if interface == 'ide':
> +        return 'ide-cd'
> +    elif interface == 'floppy':
> +        return 'floppy'
> +    else:
> +        return None
> +
>  class ChangeBaseClass(iotests.QMPTestCase):
>      has_opened = False
>      has_closed = False
> @@ -63,7 +71,7 @@ class ChangeBaseClass(iotests.QMPTestCase):
> 
>  class GeneralChangeTestsBaseClass(ChangeBaseClass):
> 
> -    device_name = None
> +    device_name = 'qdev0'
> 
>      def test_change(self):
>          result = self.vm.qmp('change', device='drive0', target=new_img,
> @@ -79,14 +87,9 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
>      def test_blockdev_change_medium(self):
> -        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)
> +        result = self.vm.qmp('blockdev-change-medium',
> +                             id=self.device_name, filename=new_img,
> +                             format=iotests.imgfmt)
> 
>          self.assert_qmp(result, 'return', {})
> 
> @@ -99,10 +102,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
>      def test_eject(self):
> -        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)
> +        result = self.vm.qmp('eject', id=self.device_name, force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -113,10 +113,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
>      def test_tray_eject_change(self):
> -        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)
> +        result = self.vm.qmp('eject', id=self.device_name, force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -126,12 +123,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>              self.assert_qmp(result, 'return[0]/tray_open', True)
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
> -        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)
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
> +                             filename=new_img, format=iotests.imgfmt)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_close()
> @@ -142,12 +135,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
>      def test_tray_open_close(self):
> -        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)
> +        result = self.vm.qmp('blockdev-open-tray',
> +                             id=self.device_name, force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -160,10 +149,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          else:
>              self.assert_qmp(result, 'return[0]/inserted/image/filename', 
> old_img)
> 
> -        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')
> +        result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          if self.has_real_tray or not self.was_empty:
> @@ -178,7 +164,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>              self.assert_qmp(result, 'return[0]/inserted/image/filename', 
> old_img)
> 
>      def test_tray_eject_close(self):
> -        result = self.vm.qmp('eject', device='drive0', force=True)
> +        result = self.vm.qmp('eject', id=self.device_name, force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -188,10 +174,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>              self.assert_qmp(result, 'return[0]/tray_open', True)
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
> -        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')
> +        result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_close()
> @@ -202,7 +185,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
>      def test_tray_open_change(self):
> -        result = self.vm.qmp('blockdev-open-tray', device='drive0', 
> force=True)
> +        result = self.vm.qmp('blockdev-open-tray', id=self.device_name,
> +                                                   force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -215,7 +199,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          else:
>              self.assert_qmp(result, 'return[0]/inserted/image/filename', 
> old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt)
>          self.assert_qmp(result, 'return', {})
> @@ -235,12 +219,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>                                      'driver': 'file'})
>          self.assert_qmp(result, 'return', {})
> 
> -        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)
> +        result = self.vm.qmp('blockdev-open-tray',
> +                             id=self.device_name, force=True)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> @@ -253,11 +233,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          else:
>              self.assert_qmp(result, 'return[0]/inserted/image/filename', 
> old_img)
> 
> -        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')
> +        result = self.vm.qmp('x-blockdev-remove-medium',
> +                             id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          result = self.vm.qmp('query-block')
> @@ -265,12 +242,8 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>              self.assert_qmp(result, 'return[0]/tray_open', True)
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
> -        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')
> +        result = self.vm.qmp('x-blockdev-insert-medium',
> +                             id=self.device_name, node_name='new')
>          self.assert_qmp(result, 'return', {})
> 
>          result = self.vm.qmp('query-block')
> @@ -278,10 +251,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>              self.assert_qmp(result, 'return[0]/tray_open', True)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
> -        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')
> +        result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_close()
> @@ -292,7 +262,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
>      def test_close_on_closed(self):
> -        result = self.vm.qmp('blockdev-close-tray', device='drive0')
> +        result = self.vm.qmp('blockdev-close-tray', id=self.device_name)
>          # Should be a no-op
>          self.assert_qmp(result, 'return', {})
>          self.assertEquals(self.vm.get_qmp_events(wait=False), [])
> @@ -301,7 +271,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>          if not self.has_real_tray:
>              return
> 
> -        result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
> +        result = self.vm.qmp('x-blockdev-remove-medium', id=self.device_name)
>          self.assert_qmp(result, 'error/class', 'GenericError')
> 
>      def test_insert_on_closed(self):
> @@ -315,7 +285,7 @@ class GeneralChangeTestsBaseClass(ChangeBaseClass):
>                                     'driver': 'file'})
>          self.assert_qmp(result, 'return', {})
> 
> -        result = self.vm.qmp('x-blockdev-insert-medium', device='drive0',
> +        result = self.vm.qmp('x-blockdev-insert-medium', id=self.device_name,
>                                                         node_name='new')
>          self.assert_qmp(result, 'error/class', 'GenericError')
> 
> @@ -326,12 +296,10 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass):
>          qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
>          qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
>          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.add_drive(old_img, 'media=%s' % media, 'none')
> +        self.vm.add_device('%s,drive=drive0,id=%s' %
> +                           (interface_to_device_name(interface),
> +                            self.device_name))
>          self.vm.launch()
> 
>      def tearDown(self):
> @@ -347,12 +315,12 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass):
>                                     'driver': 'file'})
>          self.assert_qmp(result, 'return', {})
> 
> -        result = self.vm.qmp('blockdev-open-tray', device='drive0')
> +        result = self.vm.qmp('blockdev-open-tray', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> 
> -        result = self.vm.qmp('x-blockdev-insert-medium', device='drive0',
> +        result = self.vm.qmp('x-blockdev-insert-medium', id=self.device_name,
>                                                         node_name='new')
>          self.assert_qmp(result, 'error/class', 'GenericError')
> 
> @@ -361,7 +329,10 @@ class TestInitiallyEmpty(GeneralChangeTestsBaseClass):
> 
>      def setUp(self, media, interface):
>          qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
> -        self.vm = iotests.VM().add_drive(None, 'media=%s' % media, interface)
> +        self.vm = iotests.VM().add_drive(None, 'media=%s' % media, 'none')
> +        self.vm.add_device('%s,drive=drive0,id=%s' %
> +                           (interface_to_device_name(interface),
> +                            self.device_name))
>          self.vm.launch()
> 
>      def tearDown(self):
> @@ -369,12 +340,12 @@ class TestInitiallyEmpty(GeneralChangeTestsBaseClass):
>          os.remove(new_img)
> 
>      def test_remove_on_empty(self):
> -        result = self.vm.qmp('blockdev-open-tray', device='drive0')
> +        result = self.vm.qmp('blockdev-open-tray', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          self.wait_for_open()
> 
> -        result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
> +        result = self.vm.qmp('x-blockdev-remove-medium', id=self.device_name)
>          # Should be a no-op
>          self.assert_qmp(result, 'return', {})
> 
> @@ -410,6 +381,8 @@ class TestFloppyInitiallyEmpty(TestInitiallyEmpty):
>          self.has_opened = True
> 
>  class TestChangeReadOnly(ChangeBaseClass):
> +    device_name = 'qdev0'
> +
>      def setUp(self):
>          qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
>          qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
> @@ -425,14 +398,15 @@ class TestChangeReadOnly(ChangeBaseClass):
>      def test_ro_ro_retain(self):
>          os.chmod(old_img, 0444)
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp(result, 'return[0]/inserted/ro', True)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt,
>                                                         
> read_only_mode='retain')
> @@ -444,14 +418,15 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_ro_rw_retain(self):
>          os.chmod(old_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp(result, 'return[0]/inserted/ro', True)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt,
>                                                         
> read_only_mode='retain')
> @@ -463,14 +438,15 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_rw_ro_retain(self):
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp(result, 'return[0]/inserted/ro', False)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt,
>                                                         
> read_only_mode='retain')
> @@ -484,7 +460,8 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_ro_rw(self):
>          os.chmod(old_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -492,7 +469,7 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
>          result = self.vm.qmp('blockdev-change-medium',
> -                             device='drive0',
> +                             id=self.device_name,
>                               filename=new_img,
>                               format=iotests.imgfmt,
>                               read_only_mode='read-write')
> @@ -504,7 +481,8 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_rw_ro(self):
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -512,7 +490,7 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
>          result = self.vm.qmp('blockdev-change-medium',
> -                             device='drive0',
> +                             id=self.device_name,
>                               filename=new_img,
>                               format=iotests.imgfmt,
>                               read_only_mode='read-only')
> @@ -523,7 +501,8 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', new_img)
> 
>      def test_make_rw_ro(self):
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -531,7 +510,7 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
>          result = self.vm.qmp('blockdev-change-medium',
> -                             device='drive0',
> +                             id=self.device_name,
>                               filename=new_img,
>                               format=iotests.imgfmt,
>                               read_only_mode='read-only')
> @@ -543,7 +522,8 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_make_ro_rw(self):
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -551,7 +531,7 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
>          result = self.vm.qmp('blockdev-change-medium',
> -                             device='drive0',
> +                             id=self.device_name,
>                               filename=new_img,
>                               format=iotests.imgfmt,
>                               read_only_mode='read-write')
> @@ -563,14 +543,15 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_make_rw_ro_by_retain(self):
>          os.chmod(old_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk,read-only=on', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp(result, 'return[0]/inserted/ro', True)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt,
>                                                         
> read_only_mode='retain')
> @@ -582,14 +563,15 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_make_ro_rw_by_retain(self):
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp(result, 'return[0]/inserted/ro', False)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('blockdev-change-medium', device='drive0',
> +        result = self.vm.qmp('blockdev-change-medium', id=self.device_name,
>                                                         filename=new_img,
>                                                         format=iotests.imgfmt,
>                                                         
> read_only_mode='retain')
> @@ -601,7 +583,8 @@ class TestChangeReadOnly(ChangeBaseClass):
> 
>      def test_rw_ro_cycle(self):
>          os.chmod(new_img, 0444)
> -        self.vm.add_drive(old_img, 'media=disk', 'floppy')
> +        self.vm.add_drive(old_img, 'media=disk', 'none')
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -620,13 +603,13 @@ class TestChangeReadOnly(ChangeBaseClass):
>          self.assert_qmp(result, 'return[0]/inserted/ro', False)
>          self.assert_qmp(result, 'return[0]/inserted/image/filename', old_img)
> 
> -        result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
> +        result = self.vm.qmp('x-blockdev-remove-medium', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          result = self.vm.qmp('query-block')
>          self.assert_qmp_absent(result, 'return[0]/inserted')
> 
> -        result = self.vm.qmp('x-blockdev-insert-medium', device='drive0',
> +        result = self.vm.qmp('x-blockdev-insert-medium', id=self.device_name,
>                                                         node_name='new')
>          self.assert_qmp(result, 'return', {})
> 
> @@ -644,11 +627,14 @@ TestInitiallyEmpty = None
> 
> 
>  class TestBlockJobsAfterCycle(ChangeBaseClass):
> +    device_name = 'qdev0'
> +
>      def setUp(self):
> -        qemu_img('create', '-f', iotests.imgfmt, old_img, '1M')
> +        qemu_img('create', '-f', iotests.imgfmt, old_img, '1440K')
> 
>          self.vm = iotests.VM()
>          self.vm.add_drive_raw("id=drive0,driver=null-co,if=none")
> +        self.vm.add_device('floppy,drive=drive0,id=%s' % self.device_name)
>          self.vm.launch()
> 
>          result = self.vm.qmp('query-block')
> @@ -656,7 +642,7 @@ class TestBlockJobsAfterCycle(ChangeBaseClass):
> 
>          # For device-less BBs, calling blockdev-open-tray or 
> blockdev-close-tray
>          # is not necessary
> -        result = self.vm.qmp('x-blockdev-remove-medium', device='drive0')
> +        result = self.vm.qmp('x-blockdev-remove-medium', id=self.device_name)
>          self.assert_qmp(result, 'return', {})
> 
>          result = self.vm.qmp('query-block')
> @@ -669,7 +655,7 @@ class TestBlockJobsAfterCycle(ChangeBaseClass):
>                                     'driver': 'file'})
>          self.assert_qmp(result, 'return', {})
> 
> -        result = self.vm.qmp('x-blockdev-insert-medium', device='drive0',
> +        result = self.vm.qmp('x-blockdev-insert-medium', id=self.device_name,
>                                                         node_name='node0')
>          self.assert_qmp(result, 'return', {})
> 
> diff --git a/tests/qemu-iotests/155 b/tests/qemu-iotests/155
> index 0b86ea4e5c..fc9fa975be 100755
> --- a/tests/qemu-iotests/155
> +++ b/tests/qemu-iotests/155
> @@ -51,36 +51,30 @@ class BaseClass(iotests.QMPTestCase):
>      target_real_backing = None
> 
>      def setUp(self):
> -        qemu_img('create', '-f', iotests.imgfmt, back0_img, '1M')
> +        qemu_img('create', '-f', iotests.imgfmt, back0_img, '1440K')
>          qemu_img('create', '-f', iotests.imgfmt, '-b', back0_img, back1_img)
>          qemu_img('create', '-f', iotests.imgfmt, '-b', back1_img, back2_img)
>          qemu_img('create', '-f', iotests.imgfmt, '-b', back2_img, source_img)
> 
>          self.vm = iotests.VM()
> -        self.vm.add_drive(None, '', 'none')
> -        self.vm.launch()
> -
>          # Add the BDS via blockdev-add so it stays around after the mirror 
> block
>          # job has been completed
> -        result = self.vm.qmp('blockdev-add',
> -                             node_name='source',
> -                             driver=iotests.imgfmt,
> -                             file={'driver': 'file',
> -                                   'filename': source_img})
> -        self.assert_qmp(result, 'return', {})
> -
> -        result = self.vm.qmp('x-blockdev-insert-medium',
> -                             device='drive0', node_name='source')
> -        self.assert_qmp(result, 'return', {})
> +        blockdev = {'node-name': 'source',
> +                    'driver': iotests.imgfmt,
> +                    'file': {'driver': 'file',
> +                             'filename': source_img}}
> +        self.vm.add_blockdev(self.qmp_to_opts(blockdev))
> +        self.vm.add_device('floppy,id=qdev0,drive=source')
> +        self.vm.launch()
> 
>          self.assertIntactSourceBackingChain()
> 
>          if self.existing:
>              if self.target_backing:
>                  qemu_img('create', '-f', iotests.imgfmt,
> -                         '-b', self.target_backing, target_img, '1M')
> +                         '-b', self.target_backing, target_img, '1440K')
>              else:
> -                qemu_img('create', '-f', iotests.imgfmt, target_img, '1M')
> +                qemu_img('create', '-f', iotests.imgfmt, target_img, '1440K')
> 
>              if self.cmd == 'blockdev-mirror':
>                  options = { 'node-name': 'target',
> @@ -104,11 +98,11 @@ class BaseClass(iotests.QMPTestCase):
>          except OSError:
>              pass
> 
> -    def findBlockNode(self, node_name, id=None):
> -        if id:
> +    def findBlockNode(self, node_name, qdev=None):
> +        if qdev:
>              result = self.vm.qmp('query-block')
>              for device in result['return']:
> -                if device['device'] == id:
> +                if device['qdev'] == qdev:
>                      if node_name:
>                          self.assert_qmp(device, 'inserted/node-name', 
> node_name)
>                      return device['inserted']
> @@ -118,7 +112,7 @@ class BaseClass(iotests.QMPTestCase):
>                  if node['node-name'] == node_name:
>                      return node
> 
> -        self.fail('Cannot find node %s/%s' % (id, node_name))
> +        self.fail('Cannot find node %s/%s' % (qdev, node_name))
> 
>      def assertIntactSourceBackingChain(self):
>          node = self.findBlockNode('source')
> @@ -155,22 +149,23 @@ class BaseClass(iotests.QMPTestCase):
>  class MirrorBaseClass(BaseClass):
>      def runMirror(self, sync):
>          if self.cmd == 'blockdev-mirror':
> -            result = self.vm.qmp(self.cmd, device='drive0', sync=sync,
> -                                 target='target')
> +            result = self.vm.qmp(self.cmd, job_id='mirror-job', 
> device='source',
> +                                 sync=sync, target='target')
>          else:
>              if self.existing:
>                  mode = 'existing'
>              else:
>                  mode = 'absolute-paths'
> -            result = self.vm.qmp(self.cmd, device='drive0', sync=sync,
> -                                 target=target_img, format=iotests.imgfmt,
> -                                 mode=mode, node_name='target')
> +            result = self.vm.qmp(self.cmd, job_id='mirror-job', 
> device='source',
> +                                 sync=sync, target=target_img,
> +                                 format=iotests.imgfmt, mode=mode,
> +                                 node_name='target')
> 
>          self.assert_qmp(result, 'return', {})
> 
>          self.vm.event_wait('BLOCK_JOB_READY')
> 
> -        result = self.vm.qmp('block-job-complete', device='drive0')
> +        result = self.vm.qmp('block-job-complete', device='mirror-job')
>          self.assert_qmp(result, 'return', {})
> 
>          self.vm.event_wait('BLOCK_JOB_COMPLETED')
> @@ -178,21 +173,21 @@ class MirrorBaseClass(BaseClass):
>      def testFull(self):
>          self.runMirror('full')
> 
> -        node = self.findBlockNode('target', 'drive0')
> +        node = self.findBlockNode('target', 'qdev0')
>          self.assertCorrectBackingImage(node, None)
>          self.assertIntactSourceBackingChain()
> 
>      def testTop(self):
>          self.runMirror('top')
> 
> -        node = self.findBlockNode('target', 'drive0')
> +        node = self.findBlockNode('target', 'qdev0')
>          self.assertCorrectBackingImage(node, back2_img)
>          self.assertIntactSourceBackingChain()
> 
>      def testNone(self):
>          self.runMirror('none')
> 
> -        node = self.findBlockNode('target', 'drive0')
> +        node = self.findBlockNode('target', 'qdev0')
>          self.assertCorrectBackingImage(node, source_img)
>          self.assertIntactSourceBackingChain()
> 
> @@ -233,17 +228,18 @@ class TestCommit(BaseClass):
>      existing = False
> 
>      def testCommit(self):
> -        result = self.vm.qmp('block-commit', device='drive0', base=back1_img)
> +        result = self.vm.qmp('block-commit', job_id='commit-job',
> +                             device='source', base=back1_img)
>          self.assert_qmp(result, 'return', {})
> 
>          self.vm.event_wait('BLOCK_JOB_READY')
> 
> -        result = self.vm.qmp('block-job-complete', device='drive0')
> +        result = self.vm.qmp('block-job-complete', device='commit-job')
>          self.assert_qmp(result, 'return', {})
> 
>          self.vm.event_wait('BLOCK_JOB_COMPLETED')
> 
> -        node = self.findBlockNode(None, 'drive0')
> +        node = self.findBlockNode(None, 'qdev0')
>          self.assert_qmp(node, 'image' + '/backing-image' * 0 + '/filename',
>                          back1_img)
>          self.assert_qmp(node, 'image' + '/backing-image' * 1 + '/filename',
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]