diff options
Diffstat (limited to 'echo.py')
-rw-r--r-- | echo.py | 40 |
1 files changed, 16 insertions, 24 deletions
@@ -1,43 +1,35 @@ import subprocess -context = {} - -def _save(name, value): - context[name] = value - -def _get(name): - return context[name] - def assertEqual(a, b): if a != b: raise Exception( 'expected {!r} == {!r}, but was disappointed'.format(a, b)) -def _run_echo(args): +def _run_echo(ctx, args): cmd = '/bin/echo' p = subprocess.Popen( [cmd] + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) out, err = p.communicate() - context["stdout"] = out - context["stderr"] = err - context["exit_code"] = p.returncode + ctx["stdout"] = out + ctx["stderr"] = err + ctx["exit_code"] = p.returncode -def run_echo_without_args(): - _run_echo([]) +def run_echo_without_args(ctx): + _run_echo(ctx, []) -def run_echo_with_args(args=None): - _run_echo(args.split()) +def run_echo_with_args(ctx, args=None): + _run_echo(ctx, args.split()) -def exit_code_is_zero(exit_code=None): +def exit_code_is_zero(ctx, exit_code=None): exit_code = int(exit_code) - assertEqual(_get("exit_code"), exit_code) + assertEqual(ctx['exit_code'], exit_code) -def stdout_is_a_newline(): - assertEqual(_get('stdout'), '\n') +def stdout_is_a_newline(ctx): + assertEqual(ctx['stdout'], '\n') -def stdout_is_text(text=None): - assertEqual(_get('stdout'), text + '\n') +def stdout_is_text(ctx, text=None): + assertEqual(ctx['stdout'], text + '\n') -def stderr_is_empty(): - assertEqual(_get('stderr'), '') +def stderr_is_empty(ctx): + assertEqual(ctx['stderr'], '') |