From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Meneghel Rodrigues Subject: [PATCH 4/4] KVM test: ksm_overcommit: Trap PexpectTimeoutErrors Date: Sat, 27 Nov 2010 15:56:31 -0200 Message-ID: <1290880591-9580-4-git-send-email-lmr@redhat.com> References: <1290880591-9580-1-git-send-email-lmr@redhat.com> Cc: kvm@vger.kernel.org, Lucas Meneghel Rodrigues To: autotest@test.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:39217 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752706Ab0K0R4n (ORCPT ); Sat, 27 Nov 2010 12:56:43 -0500 In-Reply-To: <1290880591-9580-1-git-send-email-lmr@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On the KSM overcommit test, read_until_last_line_matches is used, and now this function can raise an expect error. Trap it accordingly. Signed-off-by: Lucas Meneghel Rodrigues --- client/tests/kvm/tests/ksm_overcommit.py | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/client/tests/kvm/tests/ksm_overcommit.py b/client/tests/kvm/tests/ksm_overcommit.py index f60929e..deadda1 100644 --- a/client/tests/kvm/tests/ksm_overcommit.py +++ b/client/tests/kvm/tests/ksm_overcommit.py @@ -27,12 +27,13 @@ def run_ksm_overcommit(test, params, env): """ logging.debug("Starting allocator.py on guest %s", vm.name) session.sendline("python /tmp/allocator.py") - (match, data) = session.read_until_last_line_matches(["PASS:", "FAIL:"], - timeout) - if match != 0: - raise error.TestFail("Command allocator.py on guest %s failed.\n" - "return code: %s\n output:\n%s" % - (vm.name, match, data)) + try: + (match, data) = session.read_until_last_line_matches( + ["PASS:", "FAIL:"], + timeout) + except kvm_subprocess.ExpectProcessTerminatedError, e: + raise error.TestFail("Command allocator.py on vm '%s' failed: %s" % + (vm.name, str(e))) def _execute_allocator(command, vm, session, timeout): @@ -50,12 +51,14 @@ def run_ksm_overcommit(test, params, env): logging.debug("Executing '%s' on allocator.py loop, vm: %s, timeout: %s", command, vm.name, timeout) session.sendline(command) - (match, data) = session.read_until_last_line_matches(["PASS:","FAIL:"], + try: + (match, data) = session.read_until_last_line_matches( + ["PASS:","FAIL:"], timeout) - if match != 0: - raise error.TestFail("Failed to execute '%s' on allocator.py, " - "vm: %s, output:\n%s" % - (command, vm.name, data)) + except kvm_subprocess.ExpectProcessTerminatedError, e: + e_str = ("Failed to execute command '%s' on allocator.py, " + "vm '%s': %s" % (command, vm.name, str(e))) + raise error.TestFail(e_str) return (match, data) -- 1.7.2.3