public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Goldish <mgoldish@redhat.com>
To: autotest@test.kernel.org, kvm@vger.kernel.org
Subject: [KVM-AUTOTEST PATCH 05/28] KVM test: vmstop: use kvm_utils.Thread
Date: Mon, 27 Dec 2010 18:01:32 +0200	[thread overview]
Message-ID: <1293465715-16599-5-git-send-email-mgoldish@redhat.com> (raw)
In-Reply-To: <1293465715-16599-1-git-send-email-mgoldish@redhat.com>

Signed-off-by: Michael Goldish <mgoldish@redhat.com>
---
 client/tests/kvm/tests/vmstop.py |   61 ++++++++++++++++++-------------------
 1 files changed, 30 insertions(+), 31 deletions(-)

diff --git a/client/tests/kvm/tests/vmstop.py b/client/tests/kvm/tests/vmstop.py
index 703c881..876c3ef 100644
--- a/client/tests/kvm/tests/vmstop.py
+++ b/client/tests/kvm/tests/vmstop.py
@@ -29,55 +29,54 @@ def run_vmstop(test, params, env):
 
     guest_path = params.get("guest_path", "/tmp")
     file_size = params.get("file_size", "1000")
-    bg = None
 
     try:
         utils.run("dd if=/dev/zero of=/tmp/file bs=1M count=%s" % file_size)
         # Transfer file from host to guest, we didn't expect the finish of
         # transfer, we just let it to be a kind of stress in guest.
-        bg = kvm_test_utils.BackgroundTest(vm.copy_files_to,
-                                           ("/tmp/file", guest_path,
-                                            0, 60))
+        bg = kvm_utils.Thread(vm.copy_files_to, ("/tmp/file",
+                                                 guest_path, 0, 60))
         logging.info("Start the background transfer")
         bg.start()
 
-        # wait for the transfer start
-        time.sleep(5)
-        logging.info("Stop the VM")
-        vm.monitor.cmd("stop")
+        try:
+            # wait for the transfer start
+            time.sleep(5)
+            logging.info("Stop the VM")
+            vm.monitor.cmd("stop")
 
-        # check with monitor
-        logging.info("Check the status through monitor")
-        if "paused" not in vm.monitor.info("status"):
-            raise error.TestFail("Guest did not pause after sending stop")
+            # check with monitor
+            logging.info("Check the status through monitor")
+            if "paused" not in vm.monitor.info("status"):
+                raise error.TestFail("Guest did not pause after sending stop")
 
-        # check through session
-        logging.info("Check the session")
-        if session.is_responsive():
-            raise error.TestFail("Session still alive after sending stop")
+            # check through session
+            logging.info("Check the session")
+            if session.is_responsive():
+                raise error.TestFail("Session still alive after sending stop")
 
-        # Check with the migration file
-        logging.info("Save and check the state files")
-        for p in [save1, save2]:
-            vm.save_to_file(p)
-            time.sleep(1)
-            if not os.path.isfile(p):
-                raise error.TestFail("VM failed to save state file %s" % p)
+            # Check with the migration file
+            logging.info("Save and check the state files")
+            for p in [save1, save2]:
+                vm.save_to_file(p)
+                time.sleep(1)
+                if not os.path.isfile(p):
+                    raise error.TestFail("VM failed to save state file %s" % p)
 
-        # Fail if we see deltas
-        md5_save1 = utils.hash_file(save1)
-        md5_save2 = utils.hash_file(save2)
-        if md5_save1 != md5_save2:
-            raise error.TestFail("The produced state files differ")
+            # Fail if we see deltas
+            md5_save1 = utils.hash_file(save1)
+            md5_save2 = utils.hash_file(save2)
+            if md5_save1 != md5_save2:
+                raise error.TestFail("The produced state files differ")
+        finally:
+            bg.join()
 
     finally:
+        session.close()
         if clean_save:
             logging.debug("Clean the state files")
             if os.path.isfile(save1):
                 os.remove(save1)
             if os.path.isfile(save2):
                 os.remove(save2)
-        if bg:
-            bg.join()
         vm.monitor.cmd("cont")
-        session.close()
-- 
1.7.3.3

  parent reply	other threads:[~2010-12-27 16:01 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-27 16:01 [KVM-AUTOTEST PATCH 01/28] KVM test: introduce a helper class to run a function in the background Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 02/28] KVM test: kvm_utils.py: add a convenience function to run functions in parallel Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 03/28] KVM test: corrections to migration_with_reboot Michael Goldish
2010-12-28 12:25   ` [Autotest] " Jason Wang
2010-12-28 12:42     ` Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 04/28] KVM test: migration_with_reboot: use kvm_utils.Thread Michael Goldish
2010-12-28 12:27   ` [Autotest] " Jason Wang
2010-12-27 16:01 ` Michael Goldish [this message]
2010-12-28 12:29   ` [Autotest] [KVM-AUTOTEST PATCH 05/28] KVM test: vmstop: " Jason Wang
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 06/28] KVM test: migration_with_file_transfer: " Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 07/28] KVM test: migration_with_file_transfer: use unique host filename Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 08/28] KVM test: migration_with_file_transfer: verify transfer correctness Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 09/28] KVM test: remove kvm_test_utils.BackgroundTest Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 10/28] KVM test: avoid printing address cache messages too often Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 11/28] KVM test: make_qemu_command(): catch IndexError when accessing self.netdev_id Michael Goldish
2010-12-28 13:23   ` [Autotest] " Jason Wang
2010-12-28 14:23     ` Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 12/28] KVM test: use VM.clone() in make_qemu_command() Michael Goldish
2010-12-28 13:13   ` Jason Wang
2010-12-28 14:17     ` Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 13/28] KVM test: don't print the contents of env before and after tests Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 14/28] KVM test: fix md5sum verification of ISO files Michael Goldish
2010-12-28 13:25   ` Jason Wang
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 15/28] KVM test: kvm_subprocess.py: increase default timeout from 30 to 60 secs Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 16/28] KVM test: whql_submission: run a user specified shell command before the test Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 17/28] KVM test: whql_submission: make the HDD tests run on a non-system drive Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 18/28] KVM test: whql: rename the whql_submission variant to whql.submission Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 19/28] KVM test: whql.submission: don't run jobs that require manual intervention Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 20/28] KVM test: whql.submission: add unclassified USB tablet tests Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 21/28] KVM test: refactor whql_submission_15.cs and whql_submission.py Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 22/28] KVM test: whql: add a network submission Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 23/28] KVM test: whql.submission: use a different submission name for each submission category Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 24/28] KVM test: whql.client_install: setup auto logon for DTMLLUAdminUser Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 25/28] KVM test: whql.submission: don't use any cdroms Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 26/28] KVM test: whql.submission: support VirtIO network tests Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 27/28] KVM test: whql.submission: reorder DeviceData Michael Goldish
2010-12-27 16:01 ` [KVM-AUTOTEST PATCH 28/28] KVM test: whql_submission.py: log in using all NICs before running tests Michael Goldish

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1293465715-16599-5-git-send-email-mgoldish@redhat.com \
    --to=mgoldish@redhat.com \
    --cc=autotest@test.kernel.org \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox