summaryrefslogtreecommitdiff
path: root/echo.py
diff options
context:
space:
mode:
Diffstat (limited to 'echo.py')
-rw-r--r--echo.py33
1 files changed, 33 insertions, 0 deletions
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'), '')