Commit 409d5498 authored by Alberto Garcia's avatar Alberto Garcia Committed by Jeff Cody
Browse files

qemu-iotests: add no-op streaming test



This patch tests that in a partial block-stream operation, no data is
ever copied from the base image.

Signed-off-by: default avatarAlberto Garcia <berto@igalia.com>
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
Message-id: 5272a2aa57bc0b3f981f8b3e0c813e58a88c974b.1458566441.git.berto@igalia.com
Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
parent 5e302a7d
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -91,6 +91,24 @@ class TestSingleDrive(iotests.QMPTestCase):
                         qemu_io('-f', iotests.imgfmt, '-c', 'map', test_img),
                         'image file map does not match backing file after streaming')

    def test_stream_no_op(self):
        self.assert_no_active_block_jobs()

        # The image map is empty before the operation
        empty_map = qemu_io('-f', iotests.imgfmt, '-c', 'map', test_img)

        # This is a no-op: no data should ever be copied from the base image
        result = self.vm.qmp('block-stream', device='drive0', base=mid_img)
        self.assert_qmp(result, 'return', {})

        self.wait_until_completed()

        self.assert_no_active_block_jobs()
        self.vm.shutdown()

        self.assertEqual(qemu_io('-f', iotests.imgfmt, '-c', 'map', test_img),
                         empty_map, 'image file map changed after a no-op')

    def test_stream_partial(self):
        self.assert_no_active_block_jobs()

+2 −2
Original line number Diff line number Diff line
.............
..............
----------------------------------------------------------------------
Ran 13 tests
Ran 14 tests

OK