From patchwork Sun Apr 10 15:09:52 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lucas Meneghel Rodrigues X-Patchwork-Id: 696601 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p3AFANhZ030450 for ; Sun, 10 Apr 2011 15:10:23 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755205Ab1DJPJ5 (ORCPT ); Sun, 10 Apr 2011 11:09:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16011 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755133Ab1DJPJ4 (ORCPT ); Sun, 10 Apr 2011 11:09:56 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3AF9tQ0006975 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 10 Apr 2011 11:09:55 -0400 Received: from freedom.redhat.com (vpn-8-90.rdu.redhat.com [10.11.8.90]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p3AF9rOG011637; Sun, 10 Apr 2011 11:09:54 -0400 From: Lucas Meneghel Rodrigues To: autotest@test.kernel.org Cc: kvm@vger.kernel.org, Lucas Meneghel Rodrigues Subject: [PATCH 4/4] KVM test: Modify kvm_utils.run_tests to include non fatal failures Date: Sun, 10 Apr 2011 12:09:52 -0300 Message-Id: <1302448192-5188-1-git-send-email-lmr@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 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.6 (demeter1.kernel.org [140.211.167.41]); Sun, 10 Apr 2011 15:10:23 +0000 (UTC) So now if a error.TestWarn is thrown, dependent tests can run just fine. Changes from v1: * Fixed a bug that was causing tests to be executed twice under certain circumstances Signed-off-by: Lucas Meneghel Rodrigues --- client/tests/kvm/kvm_utils.py | 32 ++++++++++++++++++-------------- 1 files changed, 18 insertions(+), 14 deletions(-) diff --git a/client/tests/kvm/kvm_utils.py b/client/tests/kvm/kvm_utils.py index ff9ee17..c3810f9 100644 --- a/client/tests/kvm/kvm_utils.py +++ b/client/tests/kvm/kvm_utils.py @@ -1150,34 +1150,38 @@ def run_tests(parser, job): for test_name in status_dict.keys(): if not dep in test_name: continue - if not status_dict[test_name]: + # So the only really non-fatal state is WARN, + # All the others make it not safe to proceed with dependency + # execution + if status_dict[test_name] not in ['GOOD', 'WARN']: dependencies_satisfied = False break + test_iterations = int(dict.get("iterations", 1)) + test_tag = dict.get("shortname") + if dependencies_satisfied: - test_iterations = int(dict.get("iterations", 1)) - test_tag = dict.get("shortname") # Setting up profilers during test execution. profilers = dict.get("profilers", "").split() for profiler in profilers: job.profilers.add(profiler) - # We need only one execution, profiled, hence we're passing # the profile_only parameter to job.run_test(). - current_status = job.run_test("kvm", params=dict, tag=test_tag, - iterations=test_iterations, - profile_only= bool(profilers) or None) - + profile_only = bool(profilers) or None + current_status = job.run_test_detail("kvm", params=dict, + tag=test_tag, + iterations=test_iterations, + profile_only=profile_only) for profiler in profilers: job.profilers.delete(profiler) - - if not current_status: - failed = True else: # We will force the test to fail as TestNA during preprocessing dict['dependency_failed'] = 'yes' - current_status = job.run_test("kvm", params=dict, tag=test_tag, - iterations=test_iterations, - profile_only= bool(profilers) or None) + current_status = job.run_test_detail("kvm", params=dict, + tag=test_tag, + iterations=test_iterations) + + if not current_status: + failed = True status_dict[dict.get("name")] = current_status return not failed