# SPDX-License-Identifier: (GPL-2.0 OR Linux-OpenIB) # Copyright (c) 2019 Mellanox Technologies, Inc. All rights reserved. See COPYING file """ Test module for pyverbs' pd module. """ import random from tests.base import PyverbsAPITestCase from pyverbs.pd import PD class PDTest(PyverbsAPITestCase): """ Test various functionalities of the PD class. """ def test_alloc_pd(self): """ Test ibv_alloc_pd() """ with PD(self.ctx): pass def test_dealloc_pd(self): """ Test ibv_dealloc_pd() """ with PD(self.ctx) as pd: pd.close() def test_multiple_pd_creation(self): """ Test multiple creations and destructions of a PD object """ for i in range(random.randint(1, 200)): with PD(self.ctx) as pd: pd.close() def test_destroy_pd_twice(self): """ Test bad flow cases in destruction of a PD object """ with PD(self.ctx) as pd: # Pyverbs supports multiple destruction of objects, we are # not expecting an exception here. pd.close() pd.close()