diff options
| author | Maxime Ripard <[email protected]> | 2024-07-04 15:19:33 +0200 |
|---|---|---|
| committer | Maxime Ripard <[email protected]> | 2024-07-04 15:19:33 +0200 |
| commit | afeea2758b4f1210361ce2a91d8fa3e7df606ad2 (patch) | |
| tree | 969164f4e52fac6d4ec7d275540e702375e80950 /tools/testing/selftests/drivers/net/lib/py/remote_ssh.py | |
| parent | 539d33b5783804f22a62bd62ff463dfd1cef4265 (diff) | |
| parent | 896868eded124059023be0af92d68cdaf9b4de70 (diff) | |
Merge drm-misc-next-2024-07-04 into drm-misc-next-fixes
Let's start the drm-misc-next-fixes cycle.
Signed-off-by: Maxime Ripard <[email protected]>
Diffstat (limited to 'tools/testing/selftests/drivers/net/lib/py/remote_ssh.py')
| -rw-r--r-- | tools/testing/selftests/drivers/net/lib/py/remote_ssh.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/testing/selftests/drivers/net/lib/py/remote_ssh.py b/tools/testing/selftests/drivers/net/lib/py/remote_ssh.py new file mode 100644 index 000000000000..924addde19a3 --- /dev/null +++ b/tools/testing/selftests/drivers/net/lib/py/remote_ssh.py @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: GPL-2.0 + +import os +import string +import subprocess +import random + +from lib.py import cmd + + +class Remote: + def __init__(self, name, dir_path): + self.name = name + self.dir_path = dir_path + self._tmpdir = None + + def __del__(self): + if self._tmpdir: + cmd("rm -rf " + self._tmpdir, host=self) + self._tmpdir = None + + def cmd(self, comm): + return subprocess.Popen(["ssh", "-q", self.name, comm], + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + def _mktmp(self): + return ''.join(random.choice(string.ascii_lowercase) for _ in range(8)) + + def deploy(self, what): + if not self._tmpdir: + self._tmpdir = "/tmp/" + self._mktmp() + cmd("mkdir " + self._tmpdir, host=self) + file_name = self._tmpdir + "/" + self._mktmp() + os.path.basename(what) + + if not os.path.isabs(what): + what = os.path.abspath(self.dir_path + "/" + what) + + cmd(f"scp {what} {self.name}:{file_name}") + return file_name |