From patchwork Mon Jul 17 06:52:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jin Ling X-Patchwork-Id: 129567 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 12B6142E96; Mon, 17 Jul 2023 08:53:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0E71640E25; Mon, 17 Jul 2023 08:53:26 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 2BB4F4068E for ; Mon, 17 Jul 2023 08:53:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689576804; x=1721112804; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0PQZi6fqp/J2mGf/X9akhSUJxBoZWUh+9R91HErjpD8=; b=WOR42Ts4qcEOhYm/qQvJNAavK8zCvJUCrnYsBhDbqYOdOZx6x4xu9rro tqUOWSXZAntdTIALrzmcXdcJMlE+m390LyXt/AofyNMUULb3f+Jt3QXff fEcSaKDwBPK9ujpfkxKCZJ878Dx6QdODp9wcF6Xc62W6YPZbNLZ9UbgCu XBZRGJSX27Oy4B+UsbCyNFkBC5qQHv8LrtyiNWZcmBd3cONBu+mitIMw6 JWpyMuALp0mCBqCWLk79sh1pnvB18WtYmqBf8PxPXH395juwDomaXWbu4 fsrUwnAAceHjOfAAfzeyJ6fCcUvMiwpsPnYcXEmqwoLqwUAK/IOfljDQX w==; X-IronPort-AV: E=McAfee;i="6600,9927,10773"; a="363321514" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="363321514" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2023 23:53:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10773"; a="813189573" X-IronPort-AV: E=Sophos;i="6.01,211,1684825200"; d="scan'208";a="813189573" Received: from dpdk-lingjin.sh.intel.com ([10.67.114.163]) by FMSMGA003.fm.intel.com with ESMTP; 16 Jul 2023 23:53:02 -0700 From: Jin Ling To: dts@dpdk.org Cc: Jin Ling Subject: [DTS][PATCH V1 2/3] tests/ice_config_port_speed: add new test cases Date: Mon, 17 Jul 2023 14:52:52 +0800 Message-Id: <20230717065253.1611703-3-jin.ling@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230717065253.1611703-1-jin.ling@intel.com> References: <20230717065253.1611703-1-jin.ling@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 Signed-off-by: Jin Ling --- tests/TestSuite_ice_config_port_speed.py | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tests/TestSuite_ice_config_port_speed.py -- 2.25.1 diff --git a/tests/TestSuite_ice_config_port_speed.py b/tests/TestSuite_ice_config_port_speed.py new file mode 100644 index 00000000..bc7b38de --- /dev/null +++ b/tests/TestSuite_ice_config_port_speed.py @@ -0,0 +1,63 @@ +import copy +import os +import re +import time +from framework.settings import * +import framework.utils as utils +import tests.rte_flow_common as rfc +from framework.packet import Packet +from framework.pmd_output import PmdOutput +from framework.test_case import TestCase, skip_unsupported_pkg +from framework.utils import GREEN, RED + +class ConfigPortSpeed(TestCase): + def set_up_all(self): + """ + Run at the start of each test suite. + """ + self.dut_ports = self.dut.get_ports(self.nic) + self.pmdout = PmdOutput(self.dut) + # Get the Supported Speed list. + def set_up(args): + pass + def tear_down(args): + pass + def tear_down_all(self): + self.dut.kill_all() + + def test_ice_config_port_speed(self): + # bind ice driver + + # self.tester_kdriver = get_nic_driver(self.tester.ports_info[0]["type"]) + self.pmdout.execute_cmd(f"./usertools/dpdk-devbind.py --force -b={self.kdriver} {self.dut.ports_info[0]['pci']}","#") + # self.pmdout.execute_cmd(f"./usertools/dpdk-devbind.py --force -b={self.drivername} {self.dut.ports_info[0]['peer']}","#") + link_speed = [] + out = self.pmdout.execute_cmd(f"ethtool {self.dut.ports_info[0]['intf']}","#") + link_modes= re.findall('Advertised link modes: (.*)Advertised pause frame use',repr(out)) + for line in link_modes[0].split(r"\r\n\t"): + if line !="": + line = line.strip().split("/") + speed = re.findall("(\w*)base",line[0])[0] + duplex= line[1] + link_speed.append((speed,duplex)) + + link_speed = list(set(link_speed)) + # launch testpmd + self.pmdout.execute_cmd(f"./usertools/dpdk-devbind.py --force -b={self.drivername} {self.dut.ports_info[0]['pci']}","#") + # self.pmdout.execute_cmd(f"./usertools/dpdk-devbind.py --force -b={self.kdriver} {self.dut.ports_info[0]['peer']}","#") + self.pmdout.start_testpmd("Default") + + # make sure link speed is up + self.verify(self.pmdout.get_port_link_status(self.dut_ports[0])=="up","link is down, cannot set link speed") + for item in link_speed: + self.pmdout.execute_cmd("port stop all") + self.pmdout.execute_cmd(f"port config {self.dut_ports[0]} speed {item[0]} duplex {item[1].lower()}") + self.pmdout.execute_cmd("port start all") + self.pmdout.wait_link_status_up(self.dut_ports[0],timeout=30) + # port_info = self.pmdout.execute_cmd(f"show port info {self.dut_ports[0]}") + changed_link_speed = self.pmdout.get_port_link_speed(self.dut_ports[0]) + change_link_duplex = self.pmdout.get_port_link_duplex(self.dut_ports[0]) + + self.verify(int(changed_link_speed) == eval(item[0])//1000 + and item[1].lower() in change_link_duplex, + "link speed mode not changed")