[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 5/6] qemu-iotests: add block-stream with invalid
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2 5/6] qemu-iotests: add block-stream with invalid speed value test |
Date: |
Tue, 24 Apr 2012 14:53:59 +0100 |
Add a test to exercise the BlockJobSpeedInvalid error code path in the
block-stream command. The 'speed' parameter allows the speed limit of
the job to be applied immediately when the job starts instead of issuing
a separate block-job-set-speed command later. If the parameter has an
invalid value we expect to get an error and the job is not created.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
tests/qemu-iotests/030 | 29 +++++++++++++++++++++++++++++
tests/qemu-iotests/030.out | 4 ++--
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 978fd82..fdd7b3e 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -147,5 +147,34 @@ class TestSetSpeed(ImageStreamingTestCase):
self.assert_no_active_streams()
+ def test_set_speed_invalid(self):
+ self.assert_no_active_streams()
+
+ result = self.vm.qmp('block-stream', device='drive0', speed=-1)
+ self.assert_qmp(result, 'error/class', 'InvalidParameter')
+ self.assert_qmp(result, 'error/data/name', 'speed')
+
+ self.assert_no_active_streams()
+
+ result = self.vm.qmp('block-stream', device='drive0')
+ self.assert_qmp(result, 'return', {})
+
+ result = self.vm.qmp('block-job-set-speed', device='drive0', speed=-1)
+ self.assert_qmp(result, 'error/class', 'InvalidParameter')
+ self.assert_qmp(result, 'error/data/name', 'speed')
+
+ result = self.vm.qmp('block-job-cancel', device='drive0')
+ self.assert_qmp(result, 'return', {})
+
+ cancelled = False
+ while not cancelled:
+ for event in self.vm.get_qmp_events(wait=True):
+ if event['event'] == 'BLOCK_JOB_CANCELLED':
+ self.assert_qmp(event, 'data/type', 'stream')
+ self.assert_qmp(event, 'data/device', 'drive0')
+ cancelled = True
+
+ self.assert_no_active_streams()
+
if __name__ == '__main__':
iotests.main(supported_fmts=['qcow2', 'qed'])
diff --git a/tests/qemu-iotests/030.out b/tests/qemu-iotests/030.out
index 8d7e996..89968f3 100644
--- a/tests/qemu-iotests/030.out
+++ b/tests/qemu-iotests/030.out
@@ -1,5 +1,5 @@
-...
+....
----------------------------------------------------------------------
-Ran 3 tests
+Ran 4 tests
OK
--
1.7.10
- Re: [Qemu-devel] [PATCH v2 4/6] block: add 'speed' optional parameter to block-stream, (continued)
- [Qemu-devel] [PATCH v2 3/6] block: change block-job-set-speed argument from 'value' to 'speed', Stefan Hajnoczi, 2012/04/24
- [Qemu-devel] [PATCH v2 2/6] block: use Error mechanism instead of -errno for block_job_set_speed(), Stefan Hajnoczi, 2012/04/24
- [Qemu-devel] [PATCH v2 1/6] block: use Error mechanism instead of -errno for block_job_create(), Stefan Hajnoczi, 2012/04/24
- [Qemu-devel] [PATCH v2 5/6] qemu-iotests: add block-stream with invalid speed value test,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v2 6/6] qemu-iotests: fix missing 'result' variable assignment in 030, Stefan Hajnoczi, 2012/04/24
- Re: [Qemu-devel] [PATCH v2 0/6] block: add optional 'speed' parameter to block-stream, Luiz Capitulino, 2012/04/24