From 8d603a5d369178a04e099acd93de450ff351022d Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 1 Jun 2019 21:53:04 +0300 Subject: Add: prototype code generator, with echo example --- echo.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 echo.py (limited to 'echo.py') diff --git a/echo.py b/echo.py new file mode 100644 index 0000000..9ec8437 --- /dev/null +++ b/echo.py @@ -0,0 +1,33 @@ +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_without_args(): + cmd = '/bin/echo' + p = subprocess.Popen( + [cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) + out, err = p.communicate() + context["stdout"] = out + context["stderr"] = err + context["exit_code"] = p.returncode + +def exit_code_is_zero(exit_code=None): + exit_code = int(exit_code) + assertEqual(_get("exit_code"), exit_code) + +def stdout_is_a_newline(): + assertEqual(_get('stdout'), '\n') + +def stderr_is_empty(): + assertEqual(_get('stderr'), '') -- cgit v1.2.1