freebsd/tests/sys/netlink/test_nl_core.py

34 lines
1.1 KiB
Python

import errno
import socket
import pytest
from atf_python.sys.net.vnet import SingleVnetTestTemplate
from atf_python.sys.netlink.netlink import NetlinkTestTemplate
from atf_python.sys.netlink.utils import NlConst
class TestNlCore(NetlinkTestTemplate, SingleVnetTestTemplate):
@pytest.mark.parametrize(
"params",
[
pytest.param({"type": socket.SOCK_RAW}, id="SOCK_RAW"),
pytest.param({"type": socket.SOCK_DGRAM}, id="SOCK_DGRAM"),
],
)
def test_socket_type(self, params):
s = socket.socket(NlConst.AF_NETLINK, params["type"], NlConst.NETLINK_ROUTE)
s.close()
@pytest.mark.parametrize(
"params",
[
pytest.param({"type": socket.SOCK_STREAM}, id="SOCK_STREAM"),
pytest.param({"type": socket.SOCK_RDM}, id="SOCK_RDM"),
pytest.param({"type": socket.SOCK_SEQPACKET}, id="SOCK_SEQPACKET"),
],
)
def test_socket_type_unsup(self, params):
with pytest.raises(OSError) as exc_info:
socket.socket(NlConst.AF_NETLINK, params["type"], NlConst.NETLINK_ROUTE)
assert exc_info.value.errno == errno.EPROTOTYPE