mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
selftests: drv-net: factor out parsing of the env
The tests with a remote end will use a different class, for clarity, but will also need to parse the env. So factor parsing the env out to a function. Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240420025237.3309296-3-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -6,12 +6,36 @@ from pathlib import Path
|
||||
from lib.py import ip
|
||||
from lib.py import NetdevSimDev
|
||||
|
||||
|
||||
def _load_env_file(src_path):
|
||||
env = os.environ.copy()
|
||||
|
||||
src_dir = Path(src_path).parent.resolve()
|
||||
if not (src_dir / "net.config").exists():
|
||||
return env
|
||||
|
||||
lexer = shlex.shlex(open((src_dir / "net.config").as_posix(), 'r').read())
|
||||
k = None
|
||||
for token in lexer:
|
||||
if k is None:
|
||||
k = token
|
||||
env[k] = ""
|
||||
elif token == "=":
|
||||
pass
|
||||
else:
|
||||
env[k] = token
|
||||
k = None
|
||||
return env
|
||||
|
||||
|
||||
class NetDrvEnv:
|
||||
"""
|
||||
Class for a single NIC / host env, with no remote end
|
||||
"""
|
||||
def __init__(self, src_path):
|
||||
self._ns = None
|
||||
|
||||
self.env = os.environ.copy()
|
||||
self._load_env_file(src_path)
|
||||
self.env = _load_env_file(src_path)
|
||||
|
||||
if 'NETIF' in self.env:
|
||||
self.dev = ip("link show dev " + self.env['NETIF'], json=True)[0]
|
||||
@@ -34,19 +58,4 @@ class NetDrvEnv:
|
||||
self._ns.remove()
|
||||
self._ns = None
|
||||
|
||||
def _load_env_file(self, src_path):
|
||||
src_dir = Path(src_path).parent.resolve()
|
||||
if not (src_dir / "net.config").exists():
|
||||
return
|
||||
|
||||
lexer = shlex.shlex(open((src_dir / "net.config").as_posix(), 'r').read())
|
||||
k = None
|
||||
for token in lexer:
|
||||
if k is None:
|
||||
k = token
|
||||
self.env[k] = ""
|
||||
elif token == "=":
|
||||
pass
|
||||
else:
|
||||
self.env[k] = token
|
||||
k = None
|
||||
|
||||
Reference in New Issue
Block a user