40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
import mmap
|
|
import pytest
|
|
|
|
from atf_python.ktest import BaseKernelTest
|
|
from atf_python.sys.netlink.attrs import NlAttrU32
|
|
|
|
M_NOWAIT = 1
|
|
M_WAITOK = 2
|
|
|
|
NLMSG_SMALL = 128
|
|
NLMSG_LARGE = 2048
|
|
|
|
class TestNetlinkMessageWriter(BaseKernelTest):
|
|
KTEST_MODULE_NAME = "ktest_netlink_message_writer"
|
|
|
|
@pytest.mark.parametrize(
|
|
"malloc_flags",
|
|
[
|
|
pytest.param(M_NOWAIT, id="NOWAIT"),
|
|
pytest.param(M_WAITOK, id="WAITOK"),
|
|
],
|
|
)
|
|
@pytest.mark.parametrize(
|
|
"sz",
|
|
[
|
|
pytest.param([NLMSG_SMALL, NLMSG_SMALL], id="NLMSG_SMALL"),
|
|
pytest.param([NLMSG_LARGE, NLMSG_LARGE], id="NLMSG_LARGE"),
|
|
pytest.param([NLMSG_LARGE + 256, NLMSG_LARGE + 256], id="NLMSG_LARGE+256"),
|
|
],
|
|
)
|
|
def test_nlbuf_writer_allocation(self, sz, malloc_flags):
|
|
"""override to parametrize"""
|
|
|
|
test_meta = [
|
|
NlAttrU32(1, sz[0]), # size
|
|
NlAttrU32(2, sz[1]), # expected_avail
|
|
NlAttrU32(3, malloc_flags),
|
|
]
|
|
self.runtest(test_meta)
|