On Mon, Apr 26, 2010 at 7:07 AM, Jason Wang <jasowang@xxxxxxxxxx> wrote: > 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. The method we are currently using is pretty satisfactory - if we fail in getting /sys/module/kvm/version we use the kernel version as a fallback, which is good for the kernel module. For qemu, we make a regular expression searching for numbers following the string version, so I don't see a reason on why we should make it configurable. Care to provide an example of a situation where the current method fails? > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> > --- > 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) > > _______________________________________________ > Autotest mailing list > Autotest@xxxxxxxxxxxxxxx > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > -- Lucas -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html