diff options
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 |