mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 04:34:08 +08:00
selftests: drv-net: validate the environment
Throw a slightly more helpful exception when env variables are partially populated. Prior to this change we'd get a dictionary key exception somewhere later on. Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240425222341.309778-4-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
64ed7d8190
commit
340ab206ce
@ -88,6 +88,7 @@ class NetDrvEpEnv:
|
|||||||
self._ns_peer = None
|
self._ns_peer = None
|
||||||
|
|
||||||
if "NETIF" in self.env:
|
if "NETIF" in self.env:
|
||||||
|
self._check_env()
|
||||||
self.dev = ip("link show dev " + self.env['NETIF'], json=True)[0]
|
self.dev = ip("link show dev " + self.env['NETIF'], json=True)[0]
|
||||||
|
|
||||||
self.v4 = self.env.get("LOCAL_V4")
|
self.v4 = self.env.get("LOCAL_V4")
|
||||||
@ -143,6 +144,30 @@ class NetDrvEpEnv:
|
|||||||
ip(f"-6 addr add dev {self._ns_peer.nsims[0].ifname} {self.nsim_v6_pfx}2/64 nodad", ns=self._netns)
|
ip(f"-6 addr add dev {self._ns_peer.nsims[0].ifname} {self.nsim_v6_pfx}2/64 nodad", ns=self._netns)
|
||||||
ip(f" link set dev {self._ns_peer.nsims[0].ifname} up", ns=self._netns)
|
ip(f" link set dev {self._ns_peer.nsims[0].ifname} up", ns=self._netns)
|
||||||
|
|
||||||
|
def _check_env(self):
|
||||||
|
vars_needed = [
|
||||||
|
["LOCAL_V4", "LOCAL_V6"],
|
||||||
|
["REMOTE_V4", "REMOTE_V6"],
|
||||||
|
["REMOTE_TYPE"],
|
||||||
|
["REMOTE_ARGS"]
|
||||||
|
]
|
||||||
|
missing = []
|
||||||
|
|
||||||
|
for choice in vars_needed:
|
||||||
|
for entry in choice:
|
||||||
|
if entry in self.env:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
missing.append(choice)
|
||||||
|
# Make sure v4 / v6 configs are symmetric
|
||||||
|
if ("LOCAL_V6" in self.env) != ("REMOTE_V6" in self.env):
|
||||||
|
missing.append(["LOCAL_V6", "REMOTE_V6"])
|
||||||
|
if ("LOCAL_V4" in self.env) != ("REMOTE_V4" in self.env):
|
||||||
|
missing.append(["LOCAL_V4", "REMOTE_V4"])
|
||||||
|
if missing:
|
||||||
|
raise Exception("Invalid environment, missing configuration:", missing,
|
||||||
|
"Please see tools/testing/selftests/drivers/net/README.rst")
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user