Use script_helper in one more test

This commit is contained in:
Antoine Pitrou 2010-11-09 21:33:55 +00:00
parent e912f5ab7a
commit 9bc35682de
2 changed files with 34 additions and 34 deletions

View file

@ -15,11 +15,17 @@ from imp import source_from_cache
from test.support import make_legacy_pyc
# Executing the interpreter in a subprocess
def _assert_python(expected_success, *args):
cmd_line = [sys.executable, '-E']
def _assert_python(expected_success, *args, **env_vars):
cmd_line = [sys.executable]
if env_vars:
env = env_vars
else:
env = os.environ
cmd_line.append('-E')
cmd_line.extend(args)
p = subprocess.Popen(cmd_line, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
env=env)
try:
out, err = p.communicate()
finally:
@ -33,11 +39,19 @@ def _assert_python(expected_success, *args):
"stderr follows:\n%s" % (rc, err.decode('ascii', 'ignore')))
return rc, out, err
def assert_python_ok(*args):
return _assert_python(True, *args)
def assert_python_ok(*args, **env_vars):
"""
Assert that running the interpreter with `args` and optional environment
variables `env_vars` is ok and return a (return code, stdout, stderr) tuple.
"""
return _assert_python(True, *args, **env_vars)
def assert_python_failure(*args):
return _assert_python(False, *args)
def assert_python_failure(*args, **env_vars):
"""
Assert that running the interpreter with `args` and optional environment
variables `env_vars` fails and return a (return code, stdout, stderr) tuple.
"""
return _assert_python(False, *args, **env_vars)
def spawn_python(*args):
cmd_line = [sys.executable, '-E']