[pypy-commit] pypy default: support testing env values passed to app_main, test supported vars
bdkearns
noreply at buildbot.pypy.org
Sun Feb 10 22:55:24 CET 2013
Author: Brian Kearns <bdkearns at gmail.com>
Branch:
Changeset: r61050:b36eaca14928
Date: 2013-02-10 16:48 -0500
http://bitbucket.org/pypy/pypy/changeset/b36eaca14928/
Log: support testing env values passed to app_main, test supported vars
diff --git a/pypy/interpreter/test2/test_app_main.py b/pypy/interpreter/test2/test_app_main.py
--- a/pypy/interpreter/test2/test_app_main.py
+++ b/pypy/interpreter/test2/test_app_main.py
@@ -81,14 +81,16 @@
assert not value, (
"option %r has unexpectedly the value %r" % (key, value))
- def check(self, argv, **expected):
+ def check(self, argv, env, **expected):
import StringIO
from pypy.interpreter import app_main
+ saved_env = os.environ.copy()
saved_sys_argv = sys.argv[:]
saved_sys_stdout = sys.stdout
saved_sys_stderr = sys.stdout
app_main.os = os
try:
+ os.environ.update(env)
sys.stdout = sys.stderr = StringIO.StringIO()
try:
options = app_main.parse_command_line(argv)
@@ -98,64 +100,70 @@
else:
self.check_options(options, **expected)
finally:
+ os.environ.clear()
+ os.environ.update(saved_env)
sys.argv[:] = saved_sys_argv
sys.stdout = saved_sys_stdout
sys.stderr = saved_sys_stderr
def test_all_combinations_I_can_think_of(self):
- self.check([], sys_argv=[''], run_stdin=True)
- self.check(['-'], sys_argv=['-'], run_stdin=True)
- self.check(['-S'], sys_argv=[''], run_stdin=True, no_site=1)
- self.check(['-OO'], sys_argv=[''], run_stdin=True, optimize=2)
- self.check(['-O', '-O'], sys_argv=[''], run_stdin=True, optimize=2)
- self.check(['-Qnew'], sys_argv=[''], run_stdin=True, division_new=1)
- self.check(['-Qold'], sys_argv=[''], run_stdin=True, division_new=0)
- self.check(['-Qwarn'], sys_argv=[''], run_stdin=True, division_warning=1)
- self.check(['-Qwarnall'], sys_argv=[''], run_stdin=True,
+ self.check([], {}, sys_argv=[''], run_stdin=True)
+ self.check(['-'], {}, sys_argv=['-'], run_stdin=True)
+ self.check(['-S'], {}, sys_argv=[''], run_stdin=True, no_site=1)
+ self.check(['-OO'], {}, sys_argv=[''], run_stdin=True, optimize=2)
+ self.check(['-O', '-O'], {}, sys_argv=[''], run_stdin=True, optimize=2)
+ self.check(['-Qnew'], {}, sys_argv=[''], run_stdin=True, division_new=1)
+ self.check(['-Qold'], {}, sys_argv=[''], run_stdin=True, division_new=0)
+ self.check(['-Qwarn'], {}, sys_argv=[''], run_stdin=True, division_warning=1)
+ self.check(['-Qwarnall'], {}, sys_argv=[''], run_stdin=True,
division_warning=2)
- self.check(['-Q', 'new'], sys_argv=[''], run_stdin=True, division_new=1)
- self.check(['-SOQnew'], sys_argv=[''], run_stdin=True,
+ self.check(['-Q', 'new'], {}, sys_argv=[''], run_stdin=True, division_new=1)
+ self.check(['-SOQnew'], {}, sys_argv=[''], run_stdin=True,
no_site=1, optimize=1, division_new=1)
- self.check(['-SOQ', 'new'], sys_argv=[''], run_stdin=True,
+ self.check(['-SOQ', 'new'], {}, sys_argv=[''], run_stdin=True,
no_site=1, optimize=1, division_new=1)
- self.check(['-i'], sys_argv=[''], run_stdin=True,
+ self.check(['-i'], {}, sys_argv=[''], run_stdin=True,
interactive=1, inspect=1)
- self.check(['-h'], output_contains='usage:')
- self.check(['-S', '-tO', '-h'], output_contains='usage:')
- self.check(['-S', '-thO'], output_contains='usage:')
- self.check(['-S', '-tO', '--help'], output_contains='usage:')
- self.check(['-S', '-tO', '--info'], output_contains='translation')
- self.check(['-S', '-tO', '--version'], output_contains='Python')
- self.check(['-S', '-tOV'], output_contains='Python')
- self.check(['--jit', 'foobar', '-S'], sys_argv=[''],
+ self.check(['-h'], {}, output_contains='usage:')
+ self.check(['-S', '-tO', '-h'], {}, output_contains='usage:')
+ self.check(['-S', '-thO'], {}, output_contains='usage:')
+ self.check(['-S', '-tO', '--help'], {}, output_contains='usage:')
+ self.check(['-S', '-tO', '--info'], {}, output_contains='translation')
+ self.check(['-S', '-tO', '--version'], {}, output_contains='Python')
+ self.check(['-S', '-tOV'], {}, output_contains='Python')
+ self.check(['--jit', 'foobar', '-S'], {}, sys_argv=[''],
run_stdin=True, no_site=1)
- self.check(['-c', 'pass'], sys_argv=['-c'], run_command='pass')
- self.check(['-cpass'], sys_argv=['-c'], run_command='pass')
- self.check(['-cpass','x'], sys_argv=['-c','x'], run_command='pass')
- self.check(['-Sc', 'pass'], sys_argv=['-c'], run_command='pass',
+ self.check(['-c', 'pass'], {}, sys_argv=['-c'], run_command='pass')
+ self.check(['-cpass'], {}, sys_argv=['-c'], run_command='pass')
+ self.check(['-cpass','x'], {}, sys_argv=['-c','x'], run_command='pass')
+ self.check(['-Sc', 'pass'], {}, sys_argv=['-c'], run_command='pass',
no_site=1)
- self.check(['-Scpass'], sys_argv=['-c'], run_command='pass', no_site=1)
- self.check(['-c', '', ''], sys_argv=['-c', ''], run_command='')
- self.check(['-mfoo', 'bar', 'baz'], sys_argv=['foo', 'bar', 'baz'],
+ self.check(['-Scpass'], {}, sys_argv=['-c'], run_command='pass', no_site=1)
+ self.check(['-c', '', ''], {}, sys_argv=['-c', ''], run_command='')
+ self.check(['-mfoo', 'bar', 'baz'], {}, sys_argv=['foo', 'bar', 'baz'],
run_module=True)
- self.check(['-m', 'foo', 'bar', 'baz'], sys_argv=['foo', 'bar', 'baz'],
+ self.check(['-m', 'foo', 'bar', 'baz'], {}, sys_argv=['foo', 'bar', 'baz'],
run_module=True)
- self.check(['-Smfoo', 'bar', 'baz'], sys_argv=['foo', 'bar', 'baz'],
+ self.check(['-Smfoo', 'bar', 'baz'], {}, sys_argv=['foo', 'bar', 'baz'],
run_module=True, no_site=1)
- self.check(['-Sm', 'foo', 'bar', 'baz'], sys_argv=['foo', 'bar', 'baz'],
+ self.check(['-Sm', 'foo', 'bar', 'baz'], {}, sys_argv=['foo', 'bar', 'baz'],
run_module=True, no_site=1)
- self.check(['-', 'foo', 'bar'], sys_argv=['-', 'foo', 'bar'],
+ self.check(['-', 'foo', 'bar'], {}, sys_argv=['-', 'foo', 'bar'],
run_stdin=True)
- self.check(['foo', 'bar'], sys_argv=['foo', 'bar'])
- self.check(['foo', '-i'], sys_argv=['foo', '-i'])
- self.check(['-i', 'foo'], sys_argv=['foo'], interactive=1, inspect=1)
- self.check(['--', 'foo'], sys_argv=['foo'])
- self.check(['--', '-i', 'foo'], sys_argv=['-i', 'foo'])
- self.check(['--', '-', 'foo'], sys_argv=['-', 'foo'], run_stdin=True)
- self.check(['-Wbog'], sys_argv=[''], warnoptions=['bog'], run_stdin=True)
- self.check(['-W', 'ab', '-SWc'], sys_argv=[''], warnoptions=['ab', 'c'],
+ self.check(['foo', 'bar'], {}, sys_argv=['foo', 'bar'])
+ self.check(['foo', '-i'], {}, sys_argv=['foo', '-i'])
+ self.check(['-i', 'foo'], {}, sys_argv=['foo'], interactive=1, inspect=1)
+ self.check(['--', 'foo'], {}, sys_argv=['foo'])
+ self.check(['--', '-i', 'foo'], {}, sys_argv=['-i', 'foo'])
+ self.check(['--', '-', 'foo'], {}, sys_argv=['-', 'foo'], run_stdin=True)
+ self.check(['-Wbog'], {}, sys_argv=[''], warnoptions=['bog'], run_stdin=True)
+ self.check(['-W', 'ab', '-SWc'], {}, sys_argv=[''], warnoptions=['ab', 'c'],
run_stdin=True, no_site=1)
+ self.check([], {'PYTHONUNBUFFERED': '1'}, sys_argv=[''], run_stdin=True, unbuffered=1)
+ self.check([], {'PYTHONNOUSERSITE': '1'}, sys_argv=[''], run_stdin=True, no_user_site=1)
+ self.check([], {'PYTHONDONTWRITEBYTECODE': '1'}, sys_argv=[''], run_stdin=True, dont_write_bytecode=1)
+
def test_sysflags(self):
flags = (
("debug", "-d", "1"),
@@ -183,13 +191,13 @@
expected[flag1] = int(value)
else:
expected = {flag: int(value)}
- self.check([opt, '-c', 'pass'], sys_argv=['-c'],
+ self.check([opt, '-c', 'pass'], {}, sys_argv=['-c'],
run_command='pass', **expected)
def test_sysflags_envvar(self, monkeypatch):
monkeypatch.setenv('PYTHONNOUSERSITE', '1')
expected = {"no_user_site": True}
- self.check(['-c', 'pass'], sys_argv=['-c'], run_command='pass', **expected)
+ self.check(['-c', 'pass'], {}, sys_argv=['-c'], run_command='pass', **expected)
class TestInteraction:
More information about the pypy-commit
mailing list