aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-04-19 19:52:32 -0700
committerJakub Kicinski <kuba@kernel.org>2024-04-23 10:13:56 -0700
commit543389295085f65a405b046e31eb107b2a465bd4 (patch)
tree6f8e485c4546cd79086acab294776138c698f4ee
parent1a20a9a0ddef17c0bd67eece34a7439b02a7b0ba (diff)
downloadwireless-testing-543389295085f65a405b046e31eb107b2a465bd4.tar.gz
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>
-rw-r--r--tools/testing/selftests/drivers/net/lib/py/env.py45
1 files changed, 27 insertions, 18 deletions
diff --git a/tools/testing/selftests/drivers/net/lib/py/env.py b/tools/testing/selftests/drivers/net/lib/py/env.py
index e1abe9491daffa..a081e168f3db2f 100644
--- a/tools/testing/selftests/drivers/net/lib/py/env.py
+++ b/tools/testing/selftests/drivers/net/lib/py/env.py
@@ -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
+