move test files out of py lib proper
* separate all tests from plugins * simplify implicit inclusion of plugins under test * have test_initpkg perform direct checks instead of yielding tests * fix example tests for 3k --HG-- branch : trunk
This commit is contained in:
43
testing/process/test_cmdexec.py
Normal file
43
testing/process/test_cmdexec.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import py
|
||||
from py.process import cmdexec
|
||||
|
||||
def exvalue():
|
||||
return py.std.sys.exc_info()[1]
|
||||
|
||||
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 = exvalue()
|
||||
assert e.status == 1
|
||||
|
||||
def test_err(self):
|
||||
try:
|
||||
cmdexec('echoqweqwe123 hallo')
|
||||
raise AssertionError("command succeeded but shouldn't")
|
||||
except cmdexec.Error:
|
||||
e = exvalue()
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user