Files
servo/tests/wpt/css-tests/tools/py/testing/process/test_cmdexec.py
Ms2ger 296fa2512b Update web-platform-tests and CSS tests.
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180.
- Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
2017-02-06 22:38:29 +01:00

40 lines
1.1 KiB
Python

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'
assert py.builtin._istext(out)
def test_simple_newline(self):
import sys
out = cmdexec(r"""%s -c "print ('hello')" """ % sys.executable)
assert out == 'hello\n'
assert py.builtin._istext(out)
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
assert py.builtin._istext(e.out)
assert py.builtin._istext(e.err)
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