added pipe=true parameter to script

This commit is contained in:
Edwin Eefting 2022-02-09 14:18:10 +01:00
parent acb0172ddf
commit 7109873884
2 changed files with 12 additions and 10 deletions

View File

@ -160,13 +160,13 @@ class TestExecuteNode(unittest2.TestCase):
def test(node): def test(node):
results = [] results = []
cmd_pipe=node.script(lines=["echo line1", "echo line2 1>&2", "exit 123"], node.script(lines=["echo line1", "echo line2 1>&2", "exit 123"],
stdout_handler=lambda line: results.append(line), stdout_handler=lambda line: results.append(line),
stderr_handler=lambda line: results.append(line), stderr_handler=lambda line: results.append(line),
exit_handler=lambda exit_code: results.append(exit_code), exit_handler=lambda exit_code: results.append(exit_code),
valid_exitcodes=[123] valid_exitcodes=[123]
) )
cmd_pipe.execute()
self.assertEqual(results, ["line1", "line2", 123 ]) self.assertEqual(results, ["line1", "line2", 123 ])
with self.subTest("remote"): with self.subTest("remote"):
@ -179,17 +179,17 @@ class TestExecuteNode(unittest2.TestCase):
result=[] result=[]
nodea=ExecuteNode(debug_output=True) nodea=ExecuteNode(debug_output=True)
cmd_pipe=nodea.script(lines=["echo test"], stdout_handler=lambda line: result.append(line)) nodea.script(lines=["echo test"], stdout_handler=lambda line: result.append(line))
cmd_pipe.execute()
self.assertEqual(result, ["test"]) self.assertEqual(result, ["test"])
def test_script_pipe(self): def test_script_pipe(self):
result=[] result=[]
nodea=ExecuteNode() nodea=ExecuteNode()
cmd_pipe=nodea.script(lines=["echo test"]) cmd_pipe=nodea.script(lines=["echo test"], pipe=True)
nodea.script(lines=["tr e E"], inp=cmd_pipe,stdout_handler=lambda line: result.append(line)) nodea.script(lines=["tr e E"], inp=cmd_pipe,stdout_handler=lambda line: result.append(line))
cmd_pipe.execute()
self.assertEqual(result, ["tEst"]) self.assertEqual(result, ["tEst"])
@ -200,8 +200,8 @@ class TestExecuteNode(unittest2.TestCase):
result=[] result=[]
pipe=node.run(["echo", "test"], pipe=True) pipe=node.run(["echo", "test"], pipe=True)
pipe=node.script(["tr e E"], inp=pipe, stdout_handler=lambda line: result.append(line)) node.script(["tr e E"], inp=pipe, stdout_handler=lambda line: result.append(line))
pipe.execute()
self.assertEqual(result, ["tEst"]) self.assertEqual(result, ["tEst"])

View File

@ -265,5 +265,7 @@ class ExecuteNode(LogStub):
self.debug("SCRIPT > {}".format(cmd_pipe)) self.debug("SCRIPT > {}".format(cmd_pipe))
return cmd_pipe if pipe:
return cmd_pipe
else:
return cmd_pipe.execute()