diff options
Diffstat (limited to 'tests/__init__.py')
| -rw-r--r-- | tests/__init__.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/__init__.py b/tests/__init__.py index 26c0c2e..e20561b 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -292,13 +292,15 @@ def get_database_auth(): return retval -def run_python(path): +def run_python(path, env=None): if not path.endswith('.py'): path += '.py' path = os.path.abspath(path) src_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) new_env = os.environ.copy() new_env['PYTHONPATH'] = os.pathsep.join(sys.path + [src_dir]) + if env: + new_env.update(env) p = subprocess.Popen( [sys.executable, path], env=new_env, @@ -310,15 +312,18 @@ def run_python(path): return output -def run_isolated(path, prefix='tests/isolated/'): - output = run_python(prefix + path).rstrip() +def run_isolated(path, prefix='tests/isolated/', env=None): + output = run_python(prefix + path, env=env).rstrip() if output.startswith(b'skip'): parts = output.split(b':', 1) skip_args = [] if len(parts) > 1: skip_args.append(parts[1]) raise SkipTest(*skip_args) - assert output == b'pass', output + ok = output == b'pass' + if not ok: + sys.stderr.write('Isolated test {0} output:\n---\n{1}\n---\n'.format(path, output.decode())) + assert ok, 'Expected single line "pass" in stdout' certificate_file = os.path.join(os.path.dirname(__file__), 'test_server.crt') |
