Blame SOURCES/0001-tests-Fix-comparing-qp_state-for-iWARP-providers.patch

5d8808
From 698f2ae804767635342694d31d9590fe6ad2217e Mon Sep 17 00:00:00 2001
5d8808
From: Kamal Heib <kamalheib1@gmail.com>
5d8808
Date: Wed, 8 Dec 2021 16:12:11 +0200
5d8808
Subject: [PATCH] tests: Fix comparing qp_state for iWARP providers.
5d8808
5d8808
The initial QP state for iWARP providers is IBV_QPS_INIT (not
5d8808
IBV_QPS_RESET), Change the test to handle this case.
5d8808
5d8808
Signed-off-by: Kamal Heib <kamalheib1@gmail.com>
5d8808
---
5d8808
 tests/test_qp.py | 16 ++++++++++++++--
5d8808
 1 file changed, 14 insertions(+), 2 deletions(-)
5d8808
5d8808
diff --git a/tests/test_qp.py b/tests/test_qp.py
5d8808
index b952c95e..a66f724f 100644
5d8808
--- a/tests/test_qp.py
5d8808
+++ b/tests/test_qp.py
5d8808
@@ -14,6 +14,7 @@ from pyverbs.pyverbs_error import PyverbsRDMAError
5d8808
 from pyverbs.qp import QPInitAttr, QPAttr, QP
5d8808
 from tests.base import PyverbsAPITestCase
5d8808
 import pyverbs.utils as pu
5d8808
+import pyverbs.device as d
5d8808
 import pyverbs.enums as e
5d8808
 from pyverbs.pd import PD
5d8808
 from pyverbs.cq import CQ
5d8808
@@ -177,6 +178,11 @@ class QPTest(PyverbsAPITestCase):
5d8808
         self.assertLessEqual(orig_cap.max_recv_sge, init_attr.cap.max_recv_sge)
5d8808
         self.assertLessEqual(orig_cap.max_inline_data, init_attr.cap.max_inline_data)
5d8808
 
5d8808
+    def get_node_type(self):
5d8808
+        for dev in d.get_device_list():
5d8808
+            if dev.name.decode() == self.ctx.name:
5d8808
+                return dev.node_type
5d8808
+
5d8808
     def query_qp_common_test(self, qp_type):
5d8808
         with PD(self.ctx) as pd:
5d8808
             with CQ(self.ctx, 100, None, None, 0) as cq:
5d8808
@@ -190,14 +196,20 @@ class QPTest(PyverbsAPITestCase):
5d8808
                 caps = qia.cap
5d8808
                 qp = self.create_qp(pd, qia, False, False, self.ib_port)
5d8808
                 qp_attr, qp_init_attr = qp.query(e.IBV_QP_STATE | e.IBV_QP_CAP)
5d8808
-                self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
5d8808
+                if self.get_node_type() == e.IBV_NODE_RNIC:
5d8808
+                    self.verify_qp_attrs(caps, e.IBV_QPS_INIT, qp_init_attr, qp_attr)
5d8808
+                else:
5d8808
+                    self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
5d8808
 
5d8808
                 # Extended QP
5d8808
                 qia = get_qp_init_attr_ex(cq, pd, self.attr, self.attr_ex, qp_type)
5d8808
                 caps = qia.cap # Save them to verify values later
5d8808
                 qp = self.create_qp(self.ctx, qia, True, False, self.ib_port)
5d8808
                 qp_attr, qp_init_attr = qp.query(e.IBV_QP_STATE | e.IBV_QP_CAP)
5d8808
-                self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
5d8808
+                if self.get_node_type() == e.IBV_NODE_RNIC:
5d8808
+                    self.verify_qp_attrs(caps, e.IBV_QPS_INIT, qp_init_attr, qp_attr)
5d8808
+                else:
5d8808
+                    self.verify_qp_attrs(caps, e.IBV_QPS_RESET, qp_init_attr, qp_attr)
5d8808
 
5d8808
     def test_query_rc_qp(self):
5d8808
         """
5d8808
-- 
5d8808
2.31.1
5d8808