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