Author: Antonio Cuni <anto.c...@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'): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit