selftests: drv-net: add helper for path resolution

Refering to C binaries from Python code is going to be a common
need. Add a helper to convert from path in relation to the test.
Meaning, if the test is in the same directory as the binary, the
call would be simply: cfg.rpath("binary").

The helper name "rpath" is not great. I can't think of a better
name that would be accurate yet concise.

Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20250207184140.1730466-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski
2025-02-07 10:41:40 -08:00
parent 29604bc2aa
commit 3337064f42
2 changed files with 13 additions and 1 deletions

View File

@@ -18,6 +18,18 @@ class NetDrvEnvBase:
self.src_path = src_path
self.env = self._load_env_file()
def rpath(self, path):
"""
Get an absolute path to a file based on a path relative to the directory
containing the test which constructed env.
For example, if the test.py is in the same directory as
a binary (built from helper.c), the test can use env.rpath("helper")
to get the absolute path to the binary
"""
src_dir = Path(self.src_path).parent.resolve()
return (src_dir / path).as_posix()
def _load_env_file(self):
env = os.environ.copy()