[svn r38396] Capturing stdout and stderr when running the update_website tests to not mess

up --rest output.

--HG--
branch : trunk
This commit is contained in:
guido 2007-02-10 16:41:31 +01:00
parent d3cd1c5bcf
commit 275673ba21
2 changed files with 8 additions and 5 deletions

View File

@ -22,7 +22,7 @@ def rsync(pkgpath, apidocspath, gateway, remotepath):
rs.add_target(gateway, remotepath, delete=True)
rs.send()
def run_tests(pkgpath, args=''):
def run_tests(pkgpath, args='', captureouterr=False):
""" run the unit tests and build the docs """
pypath = py.__package__.getpath()
pytestpath = pypath.join('bin/py.test')
@ -32,13 +32,16 @@ def run_tests(pkgpath, args=''):
apigenpath = pkgpath.join('apigen/apigen.py') # XXX be more general here?
if not apigenpath.check(file=True):
apigenpath = pypath.join('apigen/apigen.py')
cmd = 'PYTHONPATH="%s:%s" python "%s" --apigen="%s" "%s" %s' % (
cmd = 'PYTHONPATH="%s:%s" python "%s" %s --apigen="%s" "%s"' % (
pypath.dirpath(),
pkgpath.dirpath(),
pytestpath,
args,
apigenpath,
pkgpath,
args)
)
if captureouterr:
cmd += ' > /dev/null 2>&1'
status = py.std.os.system(cmd)
return status

View File

@ -52,7 +52,7 @@ def test_run_tests():
if py.std.sys.platform == "win32":
py.test.skip("update_website is not supposed to be run from win32")
pkgpath = setup_pkg('update_website_run_tests')
errors = update_website.run_tests(pkgpath)
errors = update_website.run_tests(pkgpath, captureouterr=True)
assert not errors
assert pkgpath.join('../apigen').check(dir=True)
assert pkgpath.join('../apigen/api/sub.foo.html').check(file=True)
@ -63,6 +63,6 @@ def test_run_tests_failure():
pkgpath = setup_pkg('update_website_run_tests_failure')
assert not pkgpath.join('../apigen').check(dir=True)
pkgpath.ensure('../apigen', file=True)
errors = update_website.run_tests(pkgpath, '> /dev/null 2>&1')
errors = update_website.run_tests(pkgpath, captureouterr=True)
assert errors # some error message