[pypy-commit] pypy app_main-refactor: fix test_pythonwarnings
antocuni
noreply at buildbot.pypy.org
Fri Jun 8 17:33:19 CEST 2012
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: app_main-refactor
Changeset: r55513:0ab5f2e359c6
Date: 2012-06-08 17:11 +0200
http://bitbucket.org/pypy/pypy/changeset/0ab5f2e359c6/
Log: fix test_pythonwarnings
diff --git a/pypy/translator/goal/app_main.py b/pypy/translator/goal/app_main.py
--- a/pypy/translator/goal/app_main.py
+++ b/pypy/translator/goal/app_main.py
@@ -735,6 +735,9 @@
if 'PYTHONINSPECT_' in os.environ:
reset.append(('PYTHONINSPECT', os.environ.get('PYTHONINSPECT', '')))
os.environ['PYTHONINSPECT'] = os.environ['PYTHONINSPECT_']
+ if 'PYTHONWARNINGS_' in os.environ:
+ reset.append(('PYTHONWARNINGS', os.environ.get('PYTHONWARNINGS', '')))
+ os.environ['PYTHONWARNINGS'] = os.environ['PYTHONWARNINGS_']
# no one should change to which lists sys.argv and sys.path are bound
old_argv = sys.argv
diff --git a/pypy/translator/goal/test2/test_app_main.py b/pypy/translator/goal/test2/test_app_main.py
--- a/pypy/translator/goal/test2/test_app_main.py
+++ b/pypy/translator/goal/test2/test_app_main.py
@@ -618,15 +618,14 @@
finally:
os.environ['PYTHONSTARTUP'] = old
- def test_pythonwarnings(self):
- old = os.environ.get('PYTHONWARNINGS', '')
- try:
- os.environ['PYTHONWARNINGS'] = "once,error"
- data = self.run('-W ignore -W default '
- '-c "import sys; print sys.warnoptions"')
- assert "['ignore', 'default', 'once', 'error']" in data
- finally:
- os.environ['PYTHONWARNINGS'] = old
+ def test_pythonwarnings(self, monkeypatch):
+ # PYTHONWARNINGS_ is special cased by app_main: we cannot directly set
+ # PYTHONWARNINGS because else the warnings raised from within pypy are
+ # turned in errors.
+ monkeypatch.setenv('PYTHONWARNINGS_', "once,error")
+ data = self.run('-W ignore -W default '
+ '-c "import sys; print sys.warnoptions"')
+ assert "['ignore', 'default', 'once', 'error']" in data
def test_option_m(self):
if not hasattr(runpy, '_run_module_as_main'):
More information about the pypy-commit
mailing list