diff options
author | Lars Wirzenius <lwirzenius@wikimedia.org> | 2020-03-06 16:21:29 +0200 |
---|---|---|
committer | Lars Wirzenius <lwirzenius@wikimedia.org> | 2020-03-06 16:21:29 +0200 |
commit | d4acd873b02e7f0a2d2695309a3b2790fe12984e (patch) | |
tree | 697e23d0adcdb234c61f36d6c3d054565e6bdb49 /ssh-config.py | |
download | wmf-ssh-config-d4acd873b02e7f0a2d2695309a3b2790fe12984e.tar.gz |
Add: first version
Diffstat (limited to 'ssh-config.py')
-rw-r--r-- | ssh-config.py | 21 |
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 |