From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: [PATCH 1/3] KVM test: Use customized command to get the version of kvm and its Date: Mon, 26 Apr 2010 18:07:26 +0800 Message-ID: <20100426100726.26501.73186.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: autotest@test.kernel.org, lmr@redhat.com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:30257 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753480Ab0DZKCk (ORCPT ); Mon, 26 Apr 2010 06:02:40 -0400 Sender: kvm-owner@vger.kernel.org List-ID: userspace Current method may or may not work for various kinds of distribution. So this patch enable the ability to use customized commands to get the version of kvm and its userspace. "kvm_ver_cmd" is used for kvm verison and "kvm_userspace_ver_cmd" is for its userspace. Signed-off-by: Jason Wang --- client/tests/kvm/kvm_preprocessing.py | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/tests/kvm/kvm_preprocessing.py b/client/tests/kvm/kvm_preprocessing.py index 4b9290c..16200ab 100644 --- a/client/tests/kvm/kvm_preprocessing.py +++ b/client/tests/kvm/kvm_preprocessing.py @@ -225,10 +225,10 @@ def preprocess(test, params, env): # Get the KVM kernel module version and write it as a keyval logging.debug("Fetching KVM module version...") if os.path.exists("/dev/kvm"): - try: - kvm_version = open("/sys/module/kvm/version").read().strip() - except: - kvm_version = os.uname()[2] + kvm_ver_cmd = params.get("kvm_ver_cmd", "cat /sys/module/kvm/version") + s, kvm_version = commands.getstatusoutput(kvm_ver_cmd) + if s != 0: + kvm_version = "Unknown" else: kvm_version = "Unknown" logging.debug("KVM module not loaded") @@ -239,11 +239,11 @@ def preprocess(test, params, env): logging.debug("Fetching KVM userspace version...") qemu_path = kvm_utils.get_path(test.bindir, params.get("qemu_binary", "qemu")) - version_line = commands.getoutput("%s -help | head -n 1" % qemu_path) - matches = re.findall("[Vv]ersion .*?,", version_line) - if matches: - kvm_userspace_version = " ".join(matches[0].split()[1:]).strip(",") - else: + def_qemu_ver_cmd = "%s -help | head -n 1 | awk '{ print $5}'" % qemu_path + kvm_userspace_ver_cmd = params.get("kvm_userspace_ver_cmd", + def_qemu_ver_cmd) + s, kvm_userspace_version = commands.getstatusoutput(kvm_userspace_ver_cmd) + if s != 0: kvm_userspace_version = "Unknown" logging.debug("Could not fetch KVM userspace version") logging.debug("KVM userspace version: %s" % kvm_userspace_version)