projects/linux·blob master · refs

50 lines · 1.1 KiB

1#!/usr/bin/env python3
2# SPDX-License-Identifier: GPL-2.0
3
4from os import path
5from devmem_lib import (setup_test, run_rx, run_tx, run_tx_chunks, run_rx_hds,
6 run_rx_large_niov)
7from lib.py import ksft_run, ksft_exit, ksft_disruptive
8from lib.py import NetDrvEpEnv
9
10
11@ksft_disruptive
12def check_rx(cfg) -> None:
13 """Run the devmem RX test."""
14 run_rx(cfg)
15
16
17@ksft_disruptive
18def check_tx(cfg) -> None:
19 """Run the devmem TX test."""
20 run_tx(cfg)
21
22
23@ksft_disruptive
24def check_tx_chunks(cfg) -> None:
25 """Run the devmem TX chunking test."""
26 run_tx_chunks(cfg)
27
28
29def check_rx_hds(cfg) -> None:
30 """Run the HDS test."""
31 run_rx_hds(cfg)
32
33
34def check_rx_large_niov(cfg) -> None:
35 """Run the devmem RX test with rx-page-size = 16 KiB."""
36 run_rx_large_niov(cfg)
37
38
39def main() -> None:
40 """Run the devmem test cases."""
41 with NetDrvEpEnv(__file__) as cfg:
42 setup_test(cfg, path.abspath(path.dirname(__file__) + "/ncdevmem"))
43 ksft_run([check_rx, check_tx, check_tx_chunks, check_rx_hds,
44 check_rx_large_niov],
45 args=(cfg,))
46 ksft_exit()
47
48
49if __name__ == "__main__":
50 main()