From patchwork Wed Mar 15 01:56:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ke Xu X-Patchwork-Id: 125129 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DA1E841E96; Wed, 15 Mar 2023 02:59:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D6765410FB; Wed, 15 Mar 2023 02:59:31 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 573A7400EF for ; Wed, 15 Mar 2023 02:59:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678845570; x=1710381570; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=SZOCM6PF7yfaooLJF87YSYLx0xWJa/T9/1BrIb/vytA=; b=TDlret9YJGz1GmUygqOc3Dn7tJ7kyFyBNjzCxhPKN3/2wmdeJFyMJO3E cyK2Ksv5U5BXkJN95lFzoAfVmyhdzJB/35hpBnF7jUDhUjRQu5+Xjxu6K JGoJf+WN7H7WLwZYdJ3hM+QS5EQ53lLtmCTQGQQXoHOVO51GlT1Vc3E0R JrlnwccAQbglZPpvdfD0LFXuBt23CU8IDT6YKTJ7SZbvfYh5w0xxudjBT Wt6sb84BHEJFuC0jk1R/sAkqSSypbQeVlYi7/4f5rEZIWHd6IJu7BucXW 4kg191udTRanKVV36idn36HCdXJ43DHaQQPNaaNfGyE6/2d+fsd5TLp8r A==; X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="317244190" X-IronPort-AV: E=Sophos;i="5.98,261,1673942400"; d="scan'208";a="317244190" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2023 18:59:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="672561441" X-IronPort-AV: E=Sophos;i="5.98,261,1673942400"; d="scan'208";a="672561441" Received: from dpdk-xuke-lab.sh.intel.com ([10.67.119.8]) by orsmga007.jf.intel.com with ESMTP; 14 Mar 2023 18:59:28 -0700 From: Ke Xu To: dts@dpdk.org Cc: lijuan.tu@intel.com, ke1.xu@intel.com Subject: [DTS][PATCH V2 1/2] framework/test_result: fix unsafe __set_test_case Date: Wed, 15 Mar 2023 09:56:54 +0800 Message-Id: <20230315015655.768885-2-ke1.xu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230315015655.768885-1-ke1.xu@intel.com> References: <20230315015655.768885-1-ke1.xu@intel.com> MIME-Version: 1.0 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Without a pre-append check, __set_test_case method will append redundant elements when setting but locating the result at the first element. If this method is called several times, the outcome will de-organize in data structure. There is a pre-append check in __set_test_suite and __set_test_suite. This implementation imitated the methods above. Signed-off-by: Ke Xu --- framework/test_result.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/test_result.py b/framework/test_result.py index b62ed120..081b7256 100644 --- a/framework/test_result.py +++ b/framework/test_result.py @@ -232,8 +232,9 @@ class Result(object): def __set_test_case(self, test_case): cases = self.__current_cases() - cases.append(test_case) - cases.append([]) + if test_case not in cases: + cases.append(test_case) + cases.append([]) self.__test_case = cases.index(test_case) def __get_test_case(self):