示例#1
0
 def test_sprocess_safe_wait_and_return_code(self):
     command = "a command"
     Popen = MockPopen()
     Popen.set_command(command, returncode=3)
     process = Popen(command)
     compare(process.returncode, None)
     compare(process.wait(), 3)
     compare(process.returncode, 3)
     compare([
             call.Popen(command),
             call.Popen_instance.wait(),
             ], Popen.mock.method_calls)
示例#2
0
 def test_sprocess_safe_read_from_stdout_and_stderr(self):
     command = "a command"
     Popen = MockPopen()
     #  only static input used with simulated mockpopen
     # codacy mistakenly sees this as a call to popen
     Popen.set_command(command, stdout=b'foo', stderr=b'bar')
     process = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)  # nosec
     compare(process.stdout.read(), b'foo')
     compare(process.stderr.read(), b'bar')
     compare([
             call.Popen(command, shell=True, stderr=PIPE,  # nosec
                        stdout=PIPE),
             ], Popen.mock.method_calls)
示例#3
0
 def test_sprocess_communicate_with_input(self):
     command = "a command"
     Popen = MockPopen()
     Popen.set_command(command)
     #  only static input used with simulated mockpopen
     # codacy mistakenly sees this as a call to popen
     process = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)  # nosec
     err, out = process.communicate('foo')
     compare([
             #  only static input used with simulated mockpopen
             # codacy mistakenly sees this as a call to popen
             call.Popen(command, shell=True, stderr=-1, stdout=-1),  # nosec
             call.Popen_instance.communicate('foo'),
             ], Popen.mock.method_calls)
     return err, out
示例#4
0
 def test_sprocess_safe_write_to_stdin(self):
     command = "a command"
     Popen = MockPopen()
     Popen.set_command(command)
     #  only static input used with simulated mockpopen
     # codacy mistakenly sees this as a call to popen
     process = Popen(command, stdin=PIPE, shell=True)  # nosec
     process.stdin.write(command)
     process.stdin.close()
     compare([
             # static input used with simulated mockpopen
             # codacy mistakenly sees this as a call to popen
             call.Popen(command, shell=True, stdin=PIPE),  # nosec
             call.Popen_instance.stdin.write(command),
             call.Popen_instance.stdin.close(),
             ], Popen.mock.method_calls)