summaryrefslogtreecommitdiff
path: root/ssh-config.py
diff options
context:
space:
mode:
authorLars Wirzenius <lwirzenius@wikimedia.org>2020-03-06 16:21:29 +0200
committerLars Wirzenius <lwirzenius@wikimedia.org>2020-03-06 16:21:29 +0200
commitd4acd873b02e7f0a2d2695309a3b2790fe12984e (patch)
tree697e23d0adcdb234c61f36d6c3d054565e6bdb49 /ssh-config.py
downloadwmf-ssh-config-d4acd873b02e7f0a2d2695309a3b2790fe12984e.tar.gz
Add: first version
Diffstat (limited to 'ssh-config.py')
-rw-r--r--ssh-config.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/ssh-config.py b/ssh-config.py
new file mode 100644
index 0000000..bea1453
--- /dev/null
+++ b/ssh-config.py
@@ -0,0 +1,21 @@
+import os
+import re
+import subprocess
+
+def run_ssh(ctx, host=None, cmd=None):
+ _runcmd(ctx, ['ssh', host, cmd])
+ if ctx.get('exit') != 0:
+ print('context:', ctx.as_dict())
+ assert_eq(ctx.get('exit'), 0)
+
+def stdout_matches(ctx, regex):
+ stdout = ctx.get('stdout', '')
+ assert_ne(re.search(regex, stdout), None)
+
+def _runcmd(ctx, argv):
+ p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ stdout, stderr = p.communicate("")
+ ctx['argv'] = argv
+ ctx['stdout'] = stdout.decode('utf-8')
+ ctx['stderr'] = stderr.decode('utf-8')
+ ctx['exit'] = p.returncode