diff options
Diffstat (limited to 'tests/sys/netlink/test_netlink_message_writer.py')
-rw-r--r-- | tests/sys/netlink/test_netlink_message_writer.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/sys/netlink/test_netlink_message_writer.py b/tests/sys/netlink/test_netlink_message_writer.py new file mode 100644 index 000000000000..5f854b14ca45 --- /dev/null +++ b/tests/sys/netlink/test_netlink_message_writer.py @@ -0,0 +1,39 @@ +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) |