1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
import py
from py.process import cmdexec
class Test_exec_cmd:
def test_simple(self):
out = cmdexec('echo hallo')
assert out.strip() == 'hallo'
def test_simple_error(self):
py.test.raises (cmdexec.Error, cmdexec, 'exit 1')
def test_simple_error_exact_status(self):
try:
cmdexec('exit 1')
except cmdexec.Error, e:
assert e.status == 1
def test_err(self):
try:
cmdexec('echoqweqwe123 hallo')
raise AssertionError, "command succeeded but shouldn't"
except cmdexec.Error, e:
assert hasattr(e, 'err')
assert hasattr(e, 'out')
assert e.err or e.out
def test_cmdexec_selection():
from py.__.process import cmdexec
if py.std.sys.platform == "win32":
assert py.process.cmdexec == cmdexec.win32_exec_cmd
elif hasattr(py.std.sys, 'pypy') or hasattr(py.std.sys, 'pypy_objspaceclass'):
assert py.process.cmdexec == cmdexec.popen3_exec_cmd
else:
assert py.process.cmdexec == cmdexec.posix_exec_cmd
|