From patchwork Tue May 11 09:04:31 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Wang X-Patchwork-Id: 98657 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4B8xjKY016276 for ; Tue, 11 May 2010 08:59:45 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932315Ab0EKI7n (ORCPT ); Tue, 11 May 2010 04:59:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45961 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932068Ab0EKI7m (ORCPT ); Tue, 11 May 2010 04:59:42 -0400 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o4B8xerY017890 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 11 May 2010 04:59:41 -0400 Received: from localhost.localdomain ([10.66.91.25]) by int-mx03.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4B8xbXg007226; Tue, 11 May 2010 04:59:38 -0400 Subject: [PATCH v2 10/10] KVM test: Add a helper to search the panic in the log To: lmr@redhat.com, autotest@test.kernel.org From: Jason Wang Cc: kvm@vger.kernel.org Date: Tue, 11 May 2010 17:04:31 +0800 Message-ID: <20100511090431.19914.24287.stgit@localhost.localdomain> In-Reply-To: <20100511083338.19914.7719.stgit@localhost.localdomain> References: <20100511083338.19914.7719.stgit@localhost.localdomain> User-Agent: StGit/0.15 MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.67 on 10.5.11.16 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 11 May 2010 08:59:45 +0000 (UTC) diff --git a/client/tests/kvm/scripts/check_serial.py b/client/tests/kvm/scripts/check_serial.py new file mode 100644 index 0000000..969bbe3 --- /dev/null +++ b/client/tests/kvm/scripts/check_serial.py @@ -0,0 +1,41 @@ +import os, sys, glob, re + + +class SerialCheckerError(Exception): + """ + Simple wrapper for the builtin Exception class. + """ + pass + + +class SerialChecker(object): + """ + Serach the panic or other keywords in the guest serial. + """ + def __init__(self): + """ + Gets params from environment variables and sets class attributes. + """ + client_dir = os.environ['AUTODIR'] + self.pattern = os.environ['KVM_TEST_search_pattern'] + self.shortname = os.environ['KVM_TEST_shortname'] + self.debugdir = os.path.join(client_dir, "results/default/kvm.%s/debug" \ + % self.shortname) + self.serial_files = glob.glob(os.path.join(self.debugdir, 'serial*')) + + + def check(self): + """ + Check whether the pattern were found in the serial files + """ + fail = [ f for f in self.serial_files if + re.findall(self.pattern, file(f).read(), re.I) ] + if fail: + print "%s is found in %s" % (self.pattern, fail) + raise SerialCheckerError("Error found during the check, Please" \ + " check the log") + + +if __name__ == "__main__": + checker = SerialChecker() + checker.check() diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index 3c0933e..3ac8f0d 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -52,6 +52,10 @@ address_index = 0 # Misc profilers = kvm_stat +# pattern serach in guest serial console +serach_pattern = panic +post_command = "python scripts/check_serial.py" +post_command_noncritical = no # Tests variants: @@ -1314,10 +1318,9 @@ virtio|virtio_blk|e1000|balloon_check: variants: - @qcow2: image_format = qcow2 - post_command = " python scripts/check_image.py;" + post_command = " python scripts/check_image.py; python scripts/check_serial.py" remove_image = no post_command_timeout = 600 - post_command_noncritical = yes - vmdk: only Fedora Ubuntu Windows only smp2