rdma-core/SOURCES/0001-tests-Check-CQE-compre...

46 lines
1.9 KiB
Diff

From 7be6d311d4bbdb93d06abfc9888e9f805d2d6fdb Mon Sep 17 00:00:00 2001
From: Edward Srouji <edwards@nvidia.com>
Date: Wed, 30 Dec 2020 17:03:34 +0200
Subject: [PATCH] tests: Check CQE compression cap before using it
Add a CQE compression capability check in mlx5 CQ tests before creating
a CQ. If the device does not support the requested CQE compression type,
the test will be skipped.
Fixes: 8aae7abe241c ("tests: Add mlx5 CQ tests")
Signed-off-by: Edward Srouji <edwards@nvidia.com>
Reviewed-by: Ido Kalir <idok@nvidia.com>
---
tests/test_mlx5_cq.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/tests/test_mlx5_cq.py b/tests/test_mlx5_cq.py
index 1f757c27345e..8be568c54262 100644
--- a/tests/test_mlx5_cq.py
+++ b/tests/test_mlx5_cq.py
@@ -2,7 +2,7 @@ import unittest
import errno
from pyverbs.providers.mlx5.mlx5dv import Mlx5Context, Mlx5DVContextAttr, \
- Mlx5DVCQInitAttr, Mlx5CQ, context_flags_to_str
+ Mlx5DVCQInitAttr, Mlx5CQ, context_flags_to_str, cqe_comp_to_str
from pyverbs.pyverbs_error import PyverbsRDMAError, PyverbsUserError
from tests.base import RDMATestCase, RCResources
import pyverbs.providers.mlx5.mlx5_enums as dve
@@ -22,6 +22,12 @@ def create_dv_cq(res):
if res.cqe_comp_res_format:
dvcq_init_attr.cqe_comp_res_format = res.cqe_comp_res_format
dvcq_init_attr.comp_mask |= dve.MLX5DV_CQ_INIT_ATTR_MASK_COMPRESSED_CQE
+ # Check CQE compression capability
+ cqe_comp_caps = res.ctx.query_mlx5_device().cqe_comp_caps
+ if not (cqe_comp_caps['supported_format'] & res.cqe_comp_res_format) or \
+ not cqe_comp_caps['max_num']:
+ cqe_comp_str = cqe_comp_to_str(res.cqe_comp_res_format)
+ raise unittest.SkipTest(f'CQE compression {cqe_comp_str} is not supported')
if res.flags:
dvcq_init_attr.flags = res.flags
dvcq_init_attr.comp_mask |= dve.MLX5DV_CQ_INIT_ATTR_MASK_FLAGS
--
2.25.4