[PATCH RFC net-next v1 0/2] selftests/dpll: DPLL subsystem integration tests
From: Michal Michalik <hidden>
Date: 2023-08-17 15:24:56
Also in:
linux-clk
The newly proposed common DPLL interface discussed on a newsletter[1]
is introducing new, complex subsystem which requires proper integration
testing - this patch adds core for such framework, as well as the
initial test cases. Framework does not require neither any special
hardware nor any special system architecture.
To properly test the DPLL subsystem this patch adds two fake modules,
named 'dpll_test' and 'dpll_test_other'. Only one of them is a subject
for testing, but to rule out the possibility of different behavior based
on the order of modules load the tests are duplicated in multiple
environments:
1) only 'dpll_test' loaded,
2) both 'dpll_test_other' and 'dpll_test' loaded, in this order,
3) both 'dpll_test' and 'dpll_test_other' loaded, in this order.
Patch adds few helper scripts, which are:
1) tools/testing/selftests/dpll/modules_handler.sh˙
Script is providing a simple way to build, load and unload a
particular module needed in integration testing - can be used
standalone
2) tools/testing/selftests/dpll/run_dpll_tests.sh
Script is checking for all dependencies, creates temporary
environment, installs required libraries and run all tests - can be
used standalone
3) tools/testing/selftests/dpll/ynlfamilyhandler.py˙
Library for easier ynl use in the pytest framework - can be used
standalone
[1] https://lore.kernel.org/netdev/20230811200340.577359-1-vadim.fedorenko@linux.dev/ (local)
Michal Michalik (2):
selftests/dpll: add DPLL module for integration selftests
selftests/dpll: add DPLL system integration selftests
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/dpll/Makefile | 11 +
tools/testing/selftests/dpll/__init__.py | 0
tools/testing/selftests/dpll/config | 1 +
tools/testing/selftests/dpll/consts.py | 34 ++
tools/testing/selftests/dpll/dpll_modules/Makefile | 12 +
.../selftests/dpll/dpll_modules/dpll_helpers.c | 259 ++++++++++++++
.../selftests/dpll/dpll_modules/dpll_test.c | 148 ++++++++
.../selftests/dpll/dpll_modules/dpll_test.h | 38 ++
.../selftests/dpll/dpll_modules/dpll_test_other.c | 93 +++++
.../selftests/dpll/dpll_modules/dpll_test_other.h | 27 ++
tools/testing/selftests/dpll/dpll_utils.py | 104 ++++++
tools/testing/selftests/dpll/modules_handler.sh | 79 +++++
tools/testing/selftests/dpll/requirements.txt | 3 +
tools/testing/selftests/dpll/run_dpll_tests.sh | 75 ++++
tools/testing/selftests/dpll/test_dpll.py | 385 +++++++++++++++++++++
tools/testing/selftests/dpll/ynlfamilyhandler.py | 49 +++
17 files changed, 1319 insertions(+)
create mode 100644 tools/testing/selftests/dpll/Makefile
create mode 100644 tools/testing/selftests/dpll/__init__.py
create mode 100644 tools/testing/selftests/dpll/config
create mode 100644 tools/testing/selftests/dpll/consts.py
create mode 100644 tools/testing/selftests/dpll/dpll_modules/Makefile
create mode 100644 tools/testing/selftests/dpll/dpll_modules/dpll_helpers.c
create mode 100644 tools/testing/selftests/dpll/dpll_modules/dpll_test.c
create mode 100644 tools/testing/selftests/dpll/dpll_modules/dpll_test.h
create mode 100644 tools/testing/selftests/dpll/dpll_modules/dpll_test_other.c
create mode 100644 tools/testing/selftests/dpll/dpll_modules/dpll_test_other.h
create mode 100644 tools/testing/selftests/dpll/dpll_utils.py
create mode 100755 tools/testing/selftests/dpll/modules_handler.sh
create mode 100644 tools/testing/selftests/dpll/requirements.txt
create mode 100755 tools/testing/selftests/dpll/run_dpll_tests.sh
create mode 100644 tools/testing/selftests/dpll/test_dpll.py
create mode 100644 tools/testing/selftests/dpll/ynlfamilyhandler.py
--
2.9.5
base-commit: f54a2a132a9d76c0e31fd1d5f569e84682563e54