summaryrefslogtreecommitdiff
path: root/tests/test_pyscript.py
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-04-24 12:58:47 -0400
committerGitHub <noreply@github.com>2019-04-24 12:58:47 -0400
commit7a20c2e312513b8a84a6cfb56263cac9c67df04d (patch)
tree679d8dc86e5ac5f38d57133664ca48f04e217239 /tests/test_pyscript.py
parent63343ad3f013d0d8c836014538439056585851ef (diff)
parentb4dd7896b1a18228282a616d88c01ae37fd39419 (diff)
downloadcmd2-git-7a20c2e312513b8a84a6cfb56263cac9c67df04d.tar.gz
Merge pull request #663 from python-cmd2/pyscript_capture
Pyscript now saves command output during the same period that redirection does
Diffstat (limited to 'tests/test_pyscript.py')
-rw-r--r--tests/test_pyscript.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/test_pyscript.py b/tests/test_pyscript.py
index 6981980b..4866548b 100644
--- a/tests/test_pyscript.py
+++ b/tests/test_pyscript.py
@@ -4,9 +4,16 @@
Unit/functional testing for pytest in cmd2
"""
import os
+from cmd2 import plugin
from .conftest import run_cmd
+HOOK_OUTPUT = "TEST_OUTPUT"
+
+def cmdfinalization_hook(data: plugin.CommandFinalizationData) -> plugin.CommandFinalizationData:
+ """A cmdfinalization_hook hook which requests application exit"""
+ print(HOOK_OUTPUT)
+ return data
def test_pyscript_help(base_app, request):
test_dir = os.path.dirname(request.module.__file__)
@@ -23,3 +30,13 @@ def test_pyscript_dir(base_app, request):
out, err = run_cmd(base_app, 'pyscript {}'.format(python_script))
assert out
assert out[0] == "['cmd_echo']"
+
+
+def test_pyscript_stdout_capture(base_app, request):
+ base_app.register_cmdfinalization_hook(cmdfinalization_hook)
+ test_dir = os.path.dirname(request.module.__file__)
+ python_script = os.path.join(test_dir, 'pyscript', 'stdout_capture.py')
+ out, err = run_cmd(base_app, 'pyscript {} {}'.format(python_script, HOOK_OUTPUT))
+
+ assert out[0] == "PASSED"
+ assert out[1] == "PASSED"