test suite reviews and discussions
 help / color / mirror / Atom feed
From: Angela Czubak <aczubak@caviumnetworks.com>
To: dts@dpdk.org
Cc: Angela Czubak <aczubak@caviumnetworks.com>
Subject: [dts] [PATCH 08/26] framework: getting DPDK binding script moved to a method in dut
Date: Thu,  6 Apr 2017 19:51:14 +0200	[thread overview]
Message-ID: <1491501092-14278-9-git-send-email-aczubak@caviumnetworks.com> (raw)
In-Reply-To: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com>

Since DPDK binding script is used in a few places and the right one
should be chosen the code doing it has been moved to
get_dpdk_bind_script method

Signed-off-by: Angela Czubak <aczubak at caviumnetworks.com>
---
 framework/dut.py          | 34 ++++++++++++++++------------------
 framework/project_dpdk.py | 33 ++++++---------------------------
 2 files changed, 22 insertions(+), 45 deletions(-)

diff --git a/framework/dut.py b/framework/dut.py
index cd899c8..3e90670 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -359,6 +359,18 @@ class Dut(Crb):
         else:
             return False
 
+    def get_dpdk_bind_script(self):
+        op = self.send_command("ls")
+        if "usertools" in op:
+            res = 'usertools/dpdk-devbind.py'
+        else:
+            op = self.send_command("ls tools")
+            if "dpdk_nic_bind.py" in op:
+                res = 'tools/dpdk_nic_bind.py'
+            else:
+                res = 'tools/dpdk-devbind.py'
+        return res
+
     def bind_interfaces_linux(self, driver='igb_uio', nics_to_bind=None):
         """
         Bind the interfaces to the selected driver. nics_to_bind can be None
@@ -380,15 +392,8 @@ class Dut(Crb):
         if current_nic == 0:
             self.logger.info("Not nic need bind driver: %s" % driver)
             return
-        op = self.send_command("ls")
-        if "usertools" in op:
-            self.send_expect('usertools/dpdk-devbind.py --force %s' % binding_list, '# ')
-        else:
-            op = self.send_command("ls tools")
-            if "dpdk_nic_bind.py" in op:
-                self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
-            else:
-                self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+        bind_script_path = self.get_dpdk_bind_script()
+        self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
 
     def unbind_interfaces_linux(self, nics_to_bind=None):
         """
@@ -412,15 +417,8 @@ class Dut(Crb):
             self.logger.info("Not nic need unbind driver")
             return
 
-        op = self.send_command("ls")
-        if "usertools" in op:
-            self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
-        else:
-            op = self.send_command("ls tools")
-            if "dpdk_nic_bind.py" in op:
-                self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
-            else:
-                self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+        bind_script_path = self.get_dpdk_bind_script()
+        self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
 
     def get_ports(self, nic_type='any', perf=None, socket=None):
         """
diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 2a50e87..c4a00bc 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -103,15 +103,8 @@ class DPDKdut(Dut):
             self.send_expect("modprobe vfio", "#", 70)
             self.send_expect("modprobe vfio-pci", "#", 70)
             # check with dpdk binding script instead of lsmod - kernel may have builtin modules
-            op = self.send_command("ls")
-            if "usertools" in op:
-                out = self.send_expect('usertools/dpdk-devbind.py --status', '# ')
-            else:
-                op = self.send_command("ls tools")
-                if "dpdk_nic_bind.py" in op:
-                    out = self.send_expect('tools/dpdk_nic_bind.py --status', '# ')
-                else:
-                    out = self.send_expect('tools/dpdk-devbind.py --status', '# ')
+            bind_script_path = self.get_dpdk_bind_script()
+            out = self.send_expect('%s --status' % bind_script_path, '# ')
             assert ("vfio-pci" in out), "Failed to setup vfio-pci"
         else:
             self.send_expect("modprobe uio", "#", 70)
@@ -323,15 +316,8 @@ class DPDKdut(Dut):
                 binding_list += '%s ' % (port_info['pci'])
             current_nic += 1
 
-        op = self.send_command("ls")
-        if "usertools" in op:
-            self.send_expect('usertools/dpdk-devbind.py --force %s' % binding_list, '# ')
-        else:
-            op = self.send_command("ls tools")
-            if "dpdk_nic_bind.py" in op:
-                self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
-            else:
-                self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+        bind_script_path = self.get_dpdk_bind_script()
+        self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
 
     def unbind_interfaces_linux(self, nics_to_bind=None):
         """
@@ -346,15 +332,8 @@ class DPDKdut(Dut):
                 binding_list += '%s ' % (port_info['pci'])
             current_nic += 1
 
-        op = self.send_command("ls")
-        if "usertools" in op:
-            self.send_expect('usertools/dpdk-devbind.py %s' % binding_list, '# ')
-        else:
-            op = self.send_command("ls tools")
-            if "dpdk_nic_bind.py" in op:
-                self.send_expect('tools/dpdk_nic_bind.py %s' % binding_list, '# ')
-            else:
-                self.send_expect('tools/dpdk-devbind.py %s' % binding_list, '# ')
+        bind_script_path = self.get_dpdk_bind_script()
+        self.send_expect('%s --force %s' % (bind_script_path, binding_list), '# ')
 
     def build_dpdk_apps(self, folder, extra_options=''):
         """
-- 
2.7.4

  parent reply	other threads:[~2017-04-06 17:51 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-06 17:51 [dts] [PATCH 00/26] DTS support for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 01/26] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 02/26] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 03/26] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 04/26] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 05/26] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 06/26] framework: checking link with IPv4 ping Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 07/26] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-06 17:51 ` Angela Czubak [this message]
2017-04-06 17:51 ` [dts] [PATCH 09/26] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-10 17:08   ` Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 10/26] tests: checksum_offload - fixes Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 11/26] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 12/26] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 13/26] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 14/26] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 15/26] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 16/26] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 17/26] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 18/26] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 19/26] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 20/26] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 21/26] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 22/26] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 23/26] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 24/26] tests: uni_pkt " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 25/26] tests: unit_tests_dump " Angela Czubak
2017-04-06 17:51 ` [dts] [PATCH 26/26] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-10 17:08 ` [dts] [PATCH v2 00/28] DTS support for Cavium NICs Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 01/28] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 02/28] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-17  6:35     ` Liu, Yong
2017-04-10 17:08   ` [dts] [PATCH v2 03/28] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 04/28] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-10 17:08   ` [dts] [PATCH v2 05/28] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 06/28] framework: checking link with IPv4 ping Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 07/28] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 08/28] framework: getting DPDK binding script moved to a method in dut Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 09/28] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 10/28] tests: checksum_offload - fixes Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 11/28] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 12/28] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 13/28] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 14/28] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 15/28] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 16/28] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 17/28] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 18/28] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 19/28] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 20/28] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 21/28] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 22/28] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 23/28] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 24/28] tests: uni_pkt " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 25/28] tests: unit_tests_dump " Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 26/28] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 27/28] framework: Adding linkspeed parameter for Cavium NICs Angela Czubak
2017-04-10 17:09   ` [dts] [PATCH v2 28/28] tests: pmd - Recompiling DPDK only if that is relevant Angela Czubak
2017-04-17  8:02   ` [dts] [PATCH v2 00/28] DTS support for Cavium NICs Liu, Yong
2017-04-19 12:21 ` [dts] [PATCH v3 00/27] " Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 01/27] framework settings: Adding cavium PCI IDs and drivers Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 02/27] framework dut and project_dpdk: using correct available binding scripts Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 03/27] framework dut and project_dpdk: binding smaller number of hugepages for arm64 Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 04/27] framework crb: Appending only 10G devices for cavium Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 05/27] framework project_dpdk: asserting loading vfio-pci by using DPDK binding script Angela Czubak
2017-04-19 12:21   ` [dts] [PATCH v3 06/27] framework: checking link with IPv4 ping Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 07/27] tests: ipv4_reassembly - added splitting result in tcpdump_command Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 08/27] tests: Modified tests to take cavium nics into account Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 09/27] tests: checksum_offload - fixes Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 10/27] tests: dynamic_config - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 11/27] tests: fdir - skipping fdir tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 12/27] tests: ieee1588 - skipping ieee1588_enable test " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 13/27] tests: jumboframes - skipping jumboframes tests testing bigger than allowed frames " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 14/27] tests: l2fwd - fixes to run on two cards (same NIC) and expecting "L2FWD: entering main loop" instead of "memory mapped" Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 15/27] tests: link_status_interrupt - skipping test_link_status_interrupt_port_available for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 16/27] tests: link_status_interrupt - skipping tests verifying adding MAC addresses " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 17/27] tests: pmdpcap - modifying the right config file + importing utils after scapy Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 18/27] tests: pmdrssreta - skipping tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 19/27] tests: queue_start_stop - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 20/27] tests: quota_watermark - skipping tests for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 21/27] tests: short_live - taking into account cavium NICs + fixes Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 22/27] tests: tso - taking into account cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 23/27] tests: uni_pkt " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 24/27] tests: unit_tests_dump " Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 25/27] tests: unit_tests_lpm - asking for lesser amount of hugepages if they are 524288kB Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 26/27] framework: Adding linkspeed parameter for Cavium NICs Angela Czubak
2017-04-19 12:22   ` [dts] [PATCH v3 27/27] tests: pmd - Recompiling DPDK only if that is relevant Angela Czubak
2017-04-20  5:55   ` [dts] [PATCH v3 00/27] DTS support for Cavium NICs Liu, Yong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1491501092-14278-9-git-send-email-aczubak@caviumnetworks.com \
    --to=aczubak@caviumnetworks.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).