Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2
3"""
4Driver test environment.
5NetDrvEnv and NetDrvEpEnv are the main environment classes.
6NetDrvContEnv extends NetDrvEpEnv with netkit container support.
7Former is for local host only tests, latter creates / connects
8to a remote endpoint. See NIPA wiki for more information about
9running and writing driver tests.
10"""
11
12import sys
13from pathlib import Path
14
15KSFT_DIR = (Path(__file__).parent / "../../../..").resolve()
16
17try:
18 sys.path.append(KSFT_DIR.as_posix())
19
20 # Import one by one to avoid pylint false positives
21 from net.lib.py import NetNS, NetNSEnter, NetdevSimDev
22 from net.lib.py import EthtoolFamily, NetdevFamily, NetshaperFamily, \
23 NlError, RtnlFamily, DevlinkFamily, PSPFamily, Netlink
24 from net.lib.py import CmdExitFailure
25 from net.lib.py import bkg, cmd, bpftool, bpftrace, defer, ethtool, \
26 fd_read_timeout, ip, rand_port, rand_ports, wait_port_listen, wait_file
27 from net.lib.py import bpf_map_set, bpf_map_dump, bpf_prog_map_ids
28 from net.lib.py import KsftSkipEx, KsftFailEx, KsftXfailEx
29 from net.lib.py import ksft_disruptive, ksft_exit, ksft_pr, ksft_run, \
30 ksft_setup, ksft_variants, KsftNamedVariant
31 from net.lib.py import ksft_eq, ksft_ge, ksft_in, ksft_is, ksft_lt, \
32 ksft_ne, ksft_not_in, ksft_raises, ksft_true, ksft_gt, ksft_not_none
33
34 __all__ = ["NetNS", "NetNSEnter", "NetdevSimDev",
35 "EthtoolFamily", "NetdevFamily", "NetshaperFamily",
36 "NlError", "RtnlFamily", "DevlinkFamily", "PSPFamily", "Netlink",
37 "CmdExitFailure",
38 "bkg", "cmd", "bpftool", "bpftrace", "defer", "ethtool",
39 "fd_read_timeout", "ip", "rand_port", "rand_ports",
40 "wait_port_listen", "wait_file",
41 "bpf_map_set", "bpf_map_dump", "bpf_prog_map_ids",
42 "KsftSkipEx", "KsftFailEx", "KsftXfailEx",
43 "ksft_disruptive", "ksft_exit", "ksft_pr", "ksft_run",
44 "ksft_setup", "ksft_variants", "KsftNamedVariant",
45 "ksft_eq", "ksft_ge", "ksft_in", "ksft_is", "ksft_lt",
46 "ksft_ne", "ksft_not_in", "ksft_raises", "ksft_true", "ksft_gt",
47 "ksft_not_none", "ksft_not_none"]
48
49 from .env import NetDrvEnv, NetDrvEpEnv, NetDrvContEnv
50 from .load import GenerateTraffic, Iperf3Runner
51 from .remote import Remote
52
53 __all__ += ["NetDrvEnv", "NetDrvEpEnv", "NetDrvContEnv", "GenerateTraffic",
54 "Remote", "Iperf3Runner"]
55except ModuleNotFoundError as e:
56 print("Failed importing `net` library from kernel sources")
57 print(str(e))
58 sys.exit(4)