From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 85C4E376C for ; Wed, 3 May 2017 06:49:29 +0200 (CEST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 May 2017 21:49:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,282,1491289200"; d="scan'208";a="96567525" Received: from unknown (HELO localhost.localdomain.sh.intel.com) ([10.239.129.95]) by fmsmga005.fm.intel.com with ESMTP; 02 May 2017 21:49:27 -0700 From: Peng Yuan To: dts@dpdk.org Cc: Peng Yuan Date: Wed, 3 May 2017 13:27:19 -0400 Message-Id: <1493832439-182586-1-git-send-email-yuan.peng@intel.com> X-Mailer: git-send-email 2.5.0 Subject: [dts] [PATCH v2] tests: fix the bug of verifyResult_symmetric of pmdrss_hash X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 May 2017 04:49:30 -0000 Signed-off-by: Peng Yuan diff --git a/tests/TestSuite_pmdrss_hash.py b/tests/TestSuite_pmdrss_hash.py index 78ae34d..612042d 100644 --- a/tests/TestSuite_pmdrss_hash.py +++ b/tests/TestSuite_pmdrss_hash.py @@ -374,9 +374,49 @@ class TestPmdrssHash(TestCase): reta_line[name.strip()] = value.strip() reta_lines.append(reta_line) - self.verifyResult_symmetric() + def verifyResult_simple_symmetric(self): + """ + Verify whether or not the result passes. + """ + + global reta_lines + global reta_num + result = [] + self.result_table_create( + ['packet index', 'RSS hash', 'hash index', 'queue id', 'actual queue id', 'pass ']) + + i = 0 + for tmp_reta_line in reta_lines: + status = "true" + # compute the hash result of five tuple into the 7 LSBs value. + hash_index = int(tmp_reta_line["RSS hash"], 16) % reta_num + + if(i % 2 == 1): + if(pre_RSS_hash == tmp_reta_line["RSS hash"]): + if(int(tmp_reta_line["RSS hash"], 16) > int("ffff", 16)): + status = "true" + result.insert((i - 1) / 2, 0) + elif(reta_entries[hash_index] == int(tmp_reta_line["queue"])): + status = "true" + result.insert((i - 1) / 2, 0) + else: + status = "fail" + result.insert((i - 1) / 2, 0) + else: + status = "fail" + result.insert((i - 1) / 2, 1) + pre_RSS_hash = tmp_reta_line["RSS hash"] - def verifyResult_symmetric(self): + self.result_table_add( + [i, tmp_reta_line["RSS hash"], hash_index, reta_entries[hash_index], tmp_reta_line["queue"], status]) + i = i + 1 + + self.result_table_print() + reta_lines = [] + self.verify( + sum(result) == 0, "the symmetric RSS hash function failed!") + + def verifyResult_toeplitz_symmetric(self): """ Verify whether or not the result passes. """ @@ -395,8 +435,12 @@ class TestPmdrssHash(TestCase): if(i % 2 == 1): if(pre_RSS_hash == tmp_reta_line["RSS hash"]): - status = "true" - result.insert((i - 1) / 2, 0) + if(reta_entries[hash_index] == int(tmp_reta_line["queue"])): + status = "true" + result.insert((i - 1) / 2, 0) + else: + status = "fail" + result.insert((i - 1) / 2, 0) else: status = "fail" result.insert((i - 1) / 2, 1) @@ -539,6 +583,8 @@ class TestPmdrssHash(TestCase): self.send_packet_symmetric(itf, iptype) + self.verifyResult_toeplitz_symmetric() + self.dut.send_expect("quit", "# ", 30) def test_simple(self): @@ -649,6 +695,8 @@ class TestPmdrssHash(TestCase): self.send_packet_symmetric(itf, iptype) + self.verifyResult_simple_symmetric() + self.dut.send_expect("quit", "# ", 30) def tear_down(self): -- 2.5.0