selftests: net: py: extract tool logic
authorJakub Kicinski <kuba@kernel.org>
Mon, 29 Apr 2024 14:44:23 +0000 (07:44 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 30 Apr 2024 15:15:32 +0000 (08:15 -0700)
commit32a4ca1361d7a51e5003d4af4dfbf570f1b5fd00
treeae88dade4a4cc727704e96456e9c090eee7329c2
parentff4b2bfa63bd07cca35f6e704dc5035650595950
selftests: net: py: extract tool logic

The main use of the ip() wrapper over cmd() is that it can parse JSON.
cmd("ip -j link show") will return stdout as a string, and test has
to call json.loads(). With ip("link show", json=True) the return value
will be already parsed.

More tools (ethtool, bpftool etc.) support the --json switch.
To avoid having to wrap all of them individually create a tool()
helper.

Switch from -j to --json (for ethtool).
While at it consume the netns attribute at the ip() level.

Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/r/20240429144426.743476-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/lib/py/utils.py