26ba25
From ee9edb4c02451eec077a7a6afc5ddb1b343e8ef6 Mon Sep 17 00:00:00 2001
26ba25
From: Kevin Wolf <kwolf@redhat.com>
26ba25
Date: Tue, 26 Jun 2018 09:48:56 +0200
26ba25
Subject: [PATCH 148/268] iotests: improve pause_job
26ba25
26ba25
RH-Author: Kevin Wolf <kwolf@redhat.com>
26ba25
Message-id: <20180626094856.6924-74-kwolf@redhat.com>
26ba25
Patchwork-id: 81118
26ba25
O-Subject: [RHV-7.6 qemu-kvm-rhev PATCH v2 73/73] iotests: improve pause_job
26ba25
Bugzilla: 1513543
26ba25
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
26ba25
RH-Acked-by: Max Reitz <mreitz@redhat.com>
26ba25
RH-Acked-by: Fam Zheng <famz@redhat.com>
26ba25
26ba25
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
26ba25
26ba25
It's possible, that job was finished during waiting. In this case we
26ba25
will see error message "Timeout waiting for job to pause" which is not
26ba25
very informative. So, let's check during waiting iteration that the job
26ba25
exists.
26ba25
26ba25
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
26ba25
Message-id: 20180601115923.17159-1-vsementsov@virtuozzo.com
26ba25
Signed-off-by: Max Reitz <mreitz@redhat.com>
26ba25
(cherry picked from commit c1bac161bb7ad27243776e90971c51cc38c2e1b6)
26ba25
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
26ba25
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
26ba25
---
26ba25
 tests/qemu-iotests/iotests.py | 9 +++++++--
26ba25
 1 file changed, 7 insertions(+), 2 deletions(-)
26ba25
26ba25
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
26ba25
index 0dbfbfd..4e67fbb 100644
26ba25
--- a/tests/qemu-iotests/iotests.py
26ba25
+++ b/tests/qemu-iotests/iotests.py
26ba25
@@ -591,9 +591,14 @@ class QMPTestCase(unittest.TestCase):
26ba25
         with Timeout(1, "Timeout waiting for job to pause"):
26ba25
             while True:
26ba25
                 result = self.vm.qmp('query-block-jobs')
26ba25
+                found = False
26ba25
                 for job in result['return']:
26ba25
-                    if job['device'] == job_id and job['paused'] == True and job['busy'] == False:
26ba25
-                        return job
26ba25
+                    if job['device'] == job_id:
26ba25
+                        found = True
26ba25
+                        if job['paused'] == True and job['busy'] == False:
26ba25
+                            return job
26ba25
+                        break
26ba25
+                assert found
26ba25
 
26ba25
     def pause_job(self, job_id='job0', wait=True):
26ba25
         result = self.vm.qmp('block-job-pause', device=job_id)
26ba25
-- 
26ba25
1.8.3.1
26ba25