From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Meneghel Rodrigues Subject: Re: [PATCH KVM-AUTOTEST 2/2] Convert images to JPEG using PIL instead of an external program Date: Wed, 12 Aug 2009 09:44:36 -0300 Message-ID: <1250081076.2921.2.camel@localhost.localdomain> References: <1250069685-17727-1-git-send-email-avi@redhat.com> <1250069685-17727-3-git-send-email-avi@redhat.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Lucas Meneghel Rodrigues , kvm@vger.kernel.org To: Avi Kivity Return-path: Received: from mx2.redhat.com ([66.187.237.31]:45336 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751122AbZHLMoj (ORCPT ); Wed, 12 Aug 2009 08:44:39 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n7CCielC023389 for ; Wed, 12 Aug 2009 08:44:40 -0400 In-Reply-To: <1250069685-17727-3-git-send-email-avi@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Wed, 2009-08-12 at 12:34 +0300, Avi Kivity wrote: > This is faster since we don't need to fork/exec/wait for an external > program each time. > > Signed-off-by: Avi Kivity > --- > client/tests/kvm/kvm_guest_wizard.py | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/client/tests/kvm/kvm_guest_wizard.py b/client/tests/kvm/kvm_guest_wizard.py > index 73b830e..f9e5476 100644 > --- a/client/tests/kvm/kvm_guest_wizard.py > +++ b/client/tests/kvm/kvm_guest_wizard.py > @@ -1,6 +1,7 @@ > import os, time, md5, re, shutil, logging > from autotest_lib.client.common_lib import utils, error > import kvm_utils, ppm_utils, kvm_subprocess > +import PIL.Image > > """ > Utilities to perform automatic guest installation using step files. > @@ -110,9 +111,8 @@ def barrier_2(vm, words, params, debug_dir, data_scrdump_filename, > history_scrdump_filename = os.path.join(history_dir, > "scrdump-step_%s-%s.jpg" % (current_step_num, > time.strftime("%Y%m%d-%H%M%S"))) > - kvm_subprocess.run_fg("convert -quality 30 %s %s" % > - (scrdump_filename, history_scrdump_filename), > - logging.debug, "(convert) ", timeout=30) > + image = PIL.Image.open(scrdump_filename) > + image.save(history_scrdump_filename, format = 'JPEG', quality = 30) Looks great, but since the python imaging library is an external library, we need to handle import failures. We can't guarantee that it will allways be installed, so we just degrade functionality gracefully in the case is not present. > # Compare md5sum of barrier region with the expected md5sum > calced_md5sum = ppm_utils.get_region_md5sum(w, h, data, x1, y1, dx, dy,