[pypy-svn] r63142 - pypy/trunk/pypy/module/sys/test
pedronis at codespeak.net
pedronis at codespeak.net
Fri Mar 20 15:35:09 CET 2009
Author: pedronis
Date: Fri Mar 20 15:35:09 2009
New Revision: 63142
Modified:
pypy/trunk/pypy/module/sys/test/test_sysmodule.py
Log:
(iko, pedronis)
tweaks to make two tests reasonable or skipped in the -A case
Modified: pypy/trunk/pypy/module/sys/test/test_sysmodule.py
==============================================================================
--- pypy/trunk/pypy/module/sys/test/test_sysmodule.py (original)
+++ pypy/trunk/pypy/module/sys/test/test_sysmodule.py Fri Mar 20 15:35:09 2009
@@ -1,5 +1,6 @@
# -*- coding: iso-8859-1 -*-
import autopath
+from pypy.conftest import option
from py.test import raises
from pypy.interpreter.gateway import app2interp_temp
@@ -20,6 +21,10 @@
space.sys.get('__stdout__')
class AppTestAppSysTests:
+
+ def setup_class(cls):
+ cls.w_appdirect = cls.space.wrap(option.runappdirect)
+
def test_sys_in_modules(self):
import sys
modules = sys.modules
@@ -70,19 +75,24 @@
else:
raise AssertionError, "ZeroDivisionError not caught"
-def app_test_io():
- import sys
- assert isinstance(sys.stdout, file)
- assert isinstance(sys.__stdout__, file)
- assert isinstance(sys.stderr, file)
- assert isinstance(sys.__stderr__, file)
- assert isinstance(sys.stdin, file)
- assert isinstance(sys.__stdin__, file)
+ def test_io(self):
+ import sys
+ assert isinstance(sys.__stdout__, file)
+ assert isinstance(sys.__stderr__, file)
+ assert isinstance(sys.__stdin__, file)
+
+ if self.appdirect and not isinstance(sys.stdout, file):
+ return
+
+ assert isinstance(sys.stdout, file)
+ assert isinstance(sys.stderr, file)
+ assert isinstance(sys.stdin, file)
class AppTestSysModulePortedFromCPython:
def setup_class(cls):
init_globals_via_builtins_hack(cls.space)
+ cls.w_appdirect = cls.space.wrap(option.runappdirect)
def test_original_displayhook(self):
import __builtin__
@@ -247,12 +257,20 @@
# can't check more than the type, as the user might have changed it
assert isinstance(sys.getdefaultencoding(), str)
- def test_getdefaultencoding(self):
+ def test_setdefaultencoding(self):
+ if self.appdirect:
+ skip("not worth running appdirect")
+
encoding = sys.getdefaultencoding()
- sys.setdefaultencoding("ascii")
try:
+ sys.setdefaultencoding("ascii")
assert sys.getdefaultencoding() == 'ascii'
raises(UnicodeDecodeError, unicode, '\x80')
+
+ sys.setdefaultencoding("latin-1")
+ assert sys.getdefaultencoding() == 'latin-1'
+ assert unicode('\x80') == u'\u0080'
+
finally:
sys.setdefaultencoding(encoding)
More information about the Pypy-commit
mailing list