diff options
author | Lars Wirzenius <liw@liw.fi> | 2019-06-01 21:53:04 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2019-06-01 21:53:04 +0300 |
commit | 8d603a5d369178a04e099acd93de450ff351022d (patch) | |
tree | f0b7d67c243e080453e6d90c892a09c06f75279e /echo.py | |
parent | a53e77f157915a0ca199e65b27d049bfa7b6ae61 (diff) | |
download | fable-poc-8d603a5d369178a04e099acd93de450ff351022d.tar.gz |
Add: prototype code generator, with echo example
Diffstat (limited to 'echo.py')
-rw-r--r-- | echo.py | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -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'), '') |