aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2016-03-17 16:48:49 +0100
committerKevin Wolf <kwolf@redhat.com>2016-03-17 16:48:49 +0100
commit361dca7a5a05d93ddbe696069f54d3d4cec41c8c (patch)
treea991959c19e288c6fa49eef45442d80435074595 /tests
parent8896e08814a99ad9e3f25ad1fd0b51721c3baa77 (diff)
parent509565f36f1bbff2c29c0f02e7aab65cdbd9a37a (diff)
downloadqemu-361dca7a5a05d93ddbe696069f54d3d4cec41c8c.zip
qemu-361dca7a5a05d93ddbe696069f54d3d4cec41c8c.tar.gz
qemu-361dca7a5a05d93ddbe696069f54d3d4cec41c8c.tar.bz2
Merge remote-tracking branch 'mreitz/tags/pull-block-for-kevin-2016-03-17-v2' into queue-block
Two quorum patches for the block queue, v2. # gpg: Signature made Thu Mar 17 16:44:11 2016 CET using RSA key ID E838ACAD # gpg: Good signature from "Max Reitz <mreitz@redhat.com>" * mreitz/tags/pull-block-for-kevin-2016-03-17-v2: iotests: Test QUORUM_REPORT_BAD in fifo mode quorum: Emit QUORUM_REPORT_BAD for reads in fifo mode Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/qemu-iotests/14817
-rw-r--r--tests/qemu-iotests/148.out4
2 files changed, 17 insertions, 4 deletions
diff --git a/tests/qemu-iotests/148 b/tests/qemu-iotests/148
index 30bc379..d066ec3 100644
--- a/tests/qemu-iotests/148
+++ b/tests/qemu-iotests/148
@@ -35,6 +35,7 @@ sector_size = 512
offset = 10
class TestQuorumEvents(iotests.QMPTestCase):
+ read_pattern = 'quorum'
def create_blkdebug_file(self, blkdebug_file, bad_sector):
file = open(blkdebug_file, 'w')
@@ -48,6 +49,7 @@ sector = "%d"
def setUp(self):
driveopts = ['driver=quorum', 'vote-threshold=2']
+ driveopts.append('read-pattern=%s' % self.read_pattern)
for i in range(len(imgs)):
iotests.qemu_img('create', '-f', iotests.imgfmt, imgs[i], '1M')
self.create_blkdebug_file(img_conf[i], i + offset)
@@ -112,7 +114,11 @@ sector = "%d"
self.vm.hmp_qemu_io("drive0", "aio_read %d %d" %
((offset + i) * sector_size, sector_size))
self.vm.qtest("clock_step %d" % delay)
- self.do_check_event('img%d' % i, offset + i)
+ # In fifo mode only errors in the first child are detected
+ if i > 0 and self.read_pattern == 'fifo':
+ self.do_check_event(None)
+ else:
+ self.do_check_event('img%d' % i, offset + i)
# I/O errors in different children: all events are emitted
delay = 2 * event_rate
@@ -120,10 +126,17 @@ sector = "%d"
self.vm.hmp_qemu_io("drive0", "aio_read %d %d" %
((offset + i) * sector_size, sector_size))
self.vm.qtest("clock_step %d" % delay)
- self.do_check_event('img%d' % i, offset + i)
+ # In fifo mode only errors in the first child are detected
+ if i > 0 and self.read_pattern == 'fifo':
+ self.do_check_event(None)
+ else:
+ self.do_check_event('img%d' % i, offset + i)
# No more pending events
self.do_check_event(None)
+class TestFifoQuorumEvents(TestQuorumEvents):
+ read_pattern = 'fifo'
+
if __name__ == '__main__':
iotests.main(supported_fmts=["raw"])
diff --git a/tests/qemu-iotests/148.out b/tests/qemu-iotests/148.out
index ae1213e..fbc63e6 100644
--- a/tests/qemu-iotests/148.out
+++ b/tests/qemu-iotests/148.out
@@ -1,5 +1,5 @@
-.
+..
----------------------------------------------------------------------
-Ran 1 tests
+Ran 2 tests
OK