summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMax Reitz2019-07-03 19:28:11 +0200
committerMax Reitz2019-07-15 15:48:40 +0200
commit13658cd70bf0dd7c39b103aedc94d43371278226 (patch)
tree57efcdf7f6ea574b49eb0946082b213974a168ec /tests
parentiotests: Add @use_log to VM.run_job() (diff)
downloadqemu-13658cd70bf0dd7c39b103aedc94d43371278226.tar.gz
qemu-13658cd70bf0dd7c39b103aedc94d43371278226.tar.xz
qemu-13658cd70bf0dd7c39b103aedc94d43371278226.zip
iotests: Add new case to 030
We recently removed the dependency of the stream job on its base node. That makes it OK to use a commit filter node there. Test that. Signed-off-by: Max Reitz <mreitz@redhat.com> Tested-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Message-id: 20190703172813.6868-11-mreitz@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/qemu-iotests/03025
-rw-r--r--tests/qemu-iotests/030.out4
2 files changed, 27 insertions, 2 deletions
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 10fe1de89d..a0397072bc 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -363,6 +363,31 @@ class TestParallelOps(iotests.QMPTestCase):
self.wait_until_completed()
self.assert_no_active_block_jobs()
+ # In this case the base node of the stream job is the commit job's
+ # filter node. stream does not have a real dependency on its base
+ # node, so even though commit removes it when it is done, there is
+ # no conflict.
+ def test_overlapping_5(self):
+ self.assert_no_active_block_jobs()
+
+ # Commit from node2 into node0
+ result = self.vm.qmp('block-commit', device='drive0',
+ top_node='node2', base_node='node0',
+ filter_node_name='commit-filter', speed=1024*1024)
+ self.assert_qmp(result, 'return', {})
+
+ # Stream from node2 into node4
+ result = self.vm.qmp('block-stream', device='node4',
+ base_node='commit-filter', job_id='node4')
+ self.assert_qmp(result, 'return', {})
+
+ result = self.vm.qmp('block-job-set-speed', device='drive0', speed=0)
+ self.assert_qmp(result, 'return', {})
+
+ self.vm.run_job(job='drive0', auto_dismiss=True, use_log=False)
+ self.vm.run_job(job='node4', auto_dismiss=True, use_log=False)
+ self.assert_no_active_block_jobs()
+
# Test a block-stream and a block-commit job in parallel
# Here the stream job is supposed to finish quickly in order to reproduce
# the scenario that triggers the bug fixed in 3d5d319e1221 and 1a63a907507
diff --git a/tests/qemu-iotests/030.out b/tests/qemu-iotests/030.out
index 4fd1c2dcd2..5eb508de07 100644
--- a/tests/qemu-iotests/030.out
+++ b/tests/qemu-iotests/030.out
@@ -1,5 +1,5 @@
-.........................
+..........................
----------------------------------------------------------------------
-Ran 25 tests
+Ran 26 tests
OK