From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47948) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZyDc7-0005Ph-SO for qemu-devel@nongnu.org; Mon, 16 Nov 2015 01:50:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZyDc6-00011E-Th for qemu-devel@nongnu.org; Mon, 16 Nov 2015 01:50:07 -0500 Date: Mon, 16 Nov 2015 14:49:58 +0800 From: Fam Zheng Message-ID: <20151116064958.GF20672@ad.usersys.redhat.com> References: <1447273656-1748-1-git-send-email-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1447273656-1748-1-git-send-email-jsnow@redhat.com> Subject: Re: [Qemu-devel] [PATCH] iotests: fix race in 030 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: kwolf@redhat.com, jcody@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org 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 > --- > 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 > + # 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 > >