* [Qemu-devel] [PATCH] iotests: fix race in 030
@ 2015-11-11 20:27 John Snow
2015-11-11 20:34 ` Jeff Cody
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: John Snow @ 2015-11-11 20:27 UTC (permalink / raw)
To: qemu-block; +Cc: kwolf, jcody, John Snow, qemu-devel
the stop_test case tests that we can resume a block-stream
command after it has stopped/paused due to error. We cannot
always reliably query it before it finishes after resume, though,
so make this a conditional.
The important thing is that we are still testing that it has stopped,
and that it finishes successfully after we send a resume command.
Signed-off-by: John Snow <jsnow@redhat.com>
---
tests/qemu-iotests/030 | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 952a524..fd0d186 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -245,6 +245,7 @@ class TestEIO(TestErrors):
while not completed:
for event in self.vm.get_qmp_events(wait=True):
if event['event'] == 'BLOCK_JOB_ERROR':
+ error = True
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'read')
@@ -257,9 +258,11 @@ class TestEIO(TestErrors):
self.assert_qmp(result, 'return', {})
result = self.vm.qmp('query-block-jobs')
+ if (result == {'return': []}):
+ # Race; likely already finished. Check.
+ continue
self.assert_qmp(result, 'return[0]/paused', False)
self.assert_qmp(result, 'return[0]/io-status', 'ok')
- error = True
elif event['event'] == 'BLOCK_JOB_COMPLETED':
self.assertTrue(error, 'job completed unexpectedly')
self.assert_qmp(event, 'data/type', 'stream')
--
2.4.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] iotests: fix race in 030
2015-11-11 20:27 [Qemu-devel] [PATCH] iotests: fix race in 030 John Snow
@ 2015-11-11 20:34 ` Jeff Cody
2015-11-12 10:21 ` [Qemu-devel] [Qemu-block] " Alberto Garcia
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Jeff Cody @ 2015-11-11 20:34 UTC (permalink / raw)
To: John Snow; +Cc: kwolf, qemu-devel, qemu-block
On Wed, Nov 11, 2015 at 03:27:36PM -0500, John Snow wrote:
> the stop_test case tests that we can resume a block-stream
> command after it has stopped/paused due to error. We cannot
> always reliably query it before it finishes after resume, though,
> so make this a conditional.
>
> The important thing is that we are still testing that it has stopped,
> and that it finishes successfully after we send a resume command.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> tests/qemu-iotests/030 | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
> index 952a524..fd0d186 100755
> --- a/tests/qemu-iotests/030
> +++ b/tests/qemu-iotests/030
> @@ -245,6 +245,7 @@ class TestEIO(TestErrors):
> while not completed:
> for event in self.vm.get_qmp_events(wait=True):
> if event['event'] == 'BLOCK_JOB_ERROR':
> + error = True
> self.assert_qmp(event, 'data/device', 'drive0')
> self.assert_qmp(event, 'data/operation', 'read')
>
> @@ -257,9 +258,11 @@ class TestEIO(TestErrors):
> self.assert_qmp(result, 'return', {})
>
> result = self.vm.qmp('query-block-jobs')
> + if (result == {'return': []}):
> + # Race; likely already finished. Check.
> + continue
> self.assert_qmp(result, 'return[0]/paused', False)
> self.assert_qmp(result, 'return[0]/io-status', 'ok')
> - error = True
> elif event['event'] == 'BLOCK_JOB_COMPLETED':
> self.assertTrue(error, 'job completed unexpectedly')
> self.assert_qmp(event, 'data/type', 'stream')
> --
> 2.4.3
>
Reviewed-by: Jeff Cody <jcody@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu-block] [PATCH] iotests: fix race in 030
2015-11-11 20:27 [Qemu-devel] [PATCH] iotests: fix race in 030 John Snow
2015-11-11 20:34 ` Jeff Cody
@ 2015-11-12 10:21 ` Alberto Garcia
2015-11-16 6:49 ` [Qemu-devel] " Fam Zheng
2015-11-16 13:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Alberto Garcia @ 2015-11-12 10:21 UTC (permalink / raw)
To: John Snow, qemu-block; +Cc: kwolf, qemu-devel
On Wed 11 Nov 2015 09:27:36 PM CET, John Snow <jsnow@redhat.com> wrote:
> the stop_test case tests that we can resume a block-stream
> command after it has stopped/paused due to error. We cannot
> always reliably query it before it finishes after resume, though,
> so make this a conditional.
>
> The important thing is that we are still testing that it has stopped,
> and that it finishes successfully after we send a resume command.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Berto
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] iotests: fix race in 030
2015-11-11 20:27 [Qemu-devel] [PATCH] iotests: fix race in 030 John Snow
2015-11-11 20:34 ` Jeff Cody
2015-11-12 10:21 ` [Qemu-devel] [Qemu-block] " Alberto Garcia
@ 2015-11-16 6:49 ` Fam Zheng
2015-11-16 13:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Fam Zheng @ 2015-11-16 6:49 UTC (permalink / raw)
To: John Snow; +Cc: kwolf, jcody, qemu-devel, qemu-block
On Wed, 11/11 15:27, John Snow wrote:
> the stop_test case tests that we can resume a block-stream
> command after it has stopped/paused due to error. We cannot
> always reliably query it before it finishes after resume, though,
> so make this a conditional.
>
> The important thing is that we are still testing that it has stopped,
> and that it finishes successfully after we send a resume command.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
> tests/qemu-iotests/030 | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
> index 952a524..fd0d186 100755
> --- a/tests/qemu-iotests/030
> +++ b/tests/qemu-iotests/030
> @@ -245,6 +245,7 @@ class TestEIO(TestErrors):
> while not completed:
> for event in self.vm.get_qmp_events(wait=True):
> if event['event'] == 'BLOCK_JOB_ERROR':
> + error = True
> self.assert_qmp(event, 'data/device', 'drive0')
> self.assert_qmp(event, 'data/operation', 'read')
>
> @@ -257,9 +258,11 @@ class TestEIO(TestErrors):
> self.assert_qmp(result, 'return', {})
>
> result = self.vm.qmp('query-block-jobs')
> + if (result == {'return': []}):
Using parenthisis around if conditions is not native Python but "(scalar)"
equals to "scalar", so the statement is still correct. Maybe this could be
fixed when applying, or even if it stays as is:
Reviewed-by: Fam Zheng <famz@redhat.com>
> + # Race; likely already finished. Check.
> + continue
> self.assert_qmp(result, 'return[0]/paused', False)
> self.assert_qmp(result, 'return[0]/io-status', 'ok')
> - error = True
> elif event['event'] == 'BLOCK_JOB_COMPLETED':
> self.assertTrue(error, 'job completed unexpectedly')
> self.assert_qmp(event, 'data/type', 'stream')
> --
> 2.4.3
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] iotests: fix race in 030
2015-11-11 20:27 [Qemu-devel] [PATCH] iotests: fix race in 030 John Snow
` (2 preceding siblings ...)
2015-11-16 6:49 ` [Qemu-devel] " Fam Zheng
@ 2015-11-16 13:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Kevin Wolf @ 2015-11-16 13:43 UTC (permalink / raw)
To: John Snow; +Cc: jcody, qemu-devel, qemu-block
Am 11.11.2015 um 21:27 hat John Snow geschrieben:
> the stop_test case tests that we can resume a block-stream
> command after it has stopped/paused due to error. We cannot
> always reliably query it before it finishes after resume, though,
> so make this a conditional.
>
> The important thing is that we are still testing that it has stopped,
> and that it finishes successfully after we send a resume command.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
Thanks, applied to the block branch.
Kevin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-16 13:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-11 20:27 [Qemu-devel] [PATCH] iotests: fix race in 030 John Snow
2015-11-11 20:34 ` Jeff Cody
2015-11-12 10:21 ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-16 6:49 ` [Qemu-devel] " Fam Zheng
2015-11-16 13:43 ` Kevin Wolf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).