public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC net-next v2 0/2] selftests/dpll: DPLL subsystem integration tests
@ 2023-10-30 16:53 Michal Michalik
  2023-10-30 16:53 ` [PATCH RFC net-next v2 1/2] netdevsim: implement DPLL for subsystem selftests Michal Michalik
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Michal Michalik @ 2023-10-30 16:53 UTC (permalink / raw)
  To: netdev
  Cc: vadim.fedorenko, jiri, arkadiusz.kubalewski, jonathan.lemon,
	pabeni, poros, milena.olech, mschmidt, linux-clk, bvanassche,
	kuba, davem, edumazet, Michal Michalik

The recently merged 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 fake DPLL devices and it's
pins implementation to netdevsim. Creating netdevsim devices and adding ports
to it register new DPLL devices and pins. First port of each netdevsim device
acts as a entitiy which registers two DPLL devices: EEC and PPS DPLLs. First
port also register the common pins: PPS and GNSS. Additionally each port
register also RCLK (recovered clock) pin for itself. That allow us to check
mutliple scenarios which might be problematic in real implementations (like
different ordering etc.)

Patch adds few helper scripts, which are:
1) 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
2) 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/169494842736.21621.10730860855645661664.git-patchwork-notify@kernel.org/

Changelog:
v1 -> v2:
- moved from separate module to implementation in netdevsim

Michal Michalik (2):
  netdevsim: implement DPLL for subsystem selftests
  selftests/dpll: add DPLL system integration selftests

 drivers/net/Kconfig                              |   1 +
 drivers/net/netdevsim/Makefile                   |   2 +-
 drivers/net/netdevsim/dpll.c                     | 438 +++++++++++++++++++++++
 drivers/net/netdevsim/dpll.h                     |  81 +++++
 drivers/net/netdevsim/netdev.c                   |  20 ++
 drivers/net/netdevsim/netdevsim.h                |   4 +
 tools/testing/selftests/Makefile                 |   1 +
 tools/testing/selftests/dpll/Makefile            |   8 +
 tools/testing/selftests/dpll/__init__.py         |   0
 tools/testing/selftests/dpll/config              |   2 +
 tools/testing/selftests/dpll/consts.py           |  34 ++
 tools/testing/selftests/dpll/dpll_utils.py       | 109 ++++++
 tools/testing/selftests/dpll/requirements.txt    |   3 +
 tools/testing/selftests/dpll/run_dpll_tests.sh   |  75 ++++
 tools/testing/selftests/dpll/test_dpll.py        | 414 +++++++++++++++++++++
 tools/testing/selftests/dpll/ynlfamilyhandler.py |  49 +++
 16 files changed, 1240 insertions(+), 1 deletion(-)
 create mode 100644 drivers/net/netdevsim/dpll.c
 create mode 100644 drivers/net/netdevsim/dpll.h
 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_utils.py
 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: 55c900477f5b3897d9038446f72a281cae0efd86

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-11-04  7:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-30 16:53 [PATCH RFC net-next v2 0/2] selftests/dpll: DPLL subsystem integration tests Michal Michalik
2023-10-30 16:53 ` [PATCH RFC net-next v2 1/2] netdevsim: implement DPLL for subsystem selftests Michal Michalik
2023-10-31 10:59   ` Jiri Pirko
2023-11-03 17:45     ` Michalik, Michal
2023-11-04  7:53       ` Jiri Pirko
2023-10-30 16:53 ` [PATCH RFC net-next v2 2/2] selftests/dpll: add DPLL system integration selftests Michal Michalik
2023-10-31  9:47 ` [PATCH RFC net-next v2 0/2] selftests/dpll: DPLL subsystem integration tests Jiri Pirko
2023-11-03 17:45   ` Michalik, Michal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox