[pypy-svn] r56202 - in pypy/dist/pypy/module/__builtin__: . test

arigo at codespeak.net arigo at codespeak.net
Tue Jul 1 18:00:26 CEST 2008


Author: arigo
Date: Tue Jul  1 18:00:25 2008
New Revision: 56202

Modified:
   pypy/dist/pypy/module/__builtin__/importing.py
   pypy/dist/pypy/module/__builtin__/test/test_import.py
Log:
issue378 resolved

Test and fix: when importing modules, open the .py files in universal
newlines mode.


Modified: pypy/dist/pypy/module/__builtin__/importing.py
==============================================================================
--- pypy/dist/pypy/module/__builtin__/importing.py	(original)
+++ pypy/dist/pypy/module/__builtin__/importing.py	Tue Jul  1 18:00:25 2008
@@ -91,7 +91,7 @@
     e = None
     if modtype == PYFILE:
         filename = filepart + ".py"
-        stream = streamio.open_file_as_stream(filename, "r")
+        stream = streamio.open_file_as_stream(filename, "rU")
     else:
         assert modtype == PYCFILE
         filename = filepart + ".pyc"

Modified: pypy/dist/pypy/module/__builtin__/test/test_import.py
==============================================================================
--- pypy/dist/pypy/module/__builtin__/test/test_import.py	(original)
+++ pypy/dist/pypy/module/__builtin__/test/test_import.py	Tue Jul  1 18:00:25 2008
@@ -57,6 +57,9 @@
                         "sys.modules[__name__] = pkg_substituted")
     setuppkg("pkg_substituted", mod='')
     p = setuppkg("readonly", x='')
+    p = setuppkg("pkg_univnewlines")
+    p.join('__init__.py').write('a=5\nb=6\rc="""hello\r\nworld"""\r')
+    p.join('mod.py').write('a=15\nb=16\rc="""foo\r\nbar"""\r')
 
     # create compiled/x.py and a corresponding pyc file
     p = setuppkg("compiled", x = "x = 84")
@@ -258,6 +261,16 @@
         import sys
         assert glob['sys'] is sys
 
+    def test_universal_newlines(self):
+        import pkg_univnewlines
+        assert pkg_univnewlines.a == 5
+        assert pkg_univnewlines.b == 6
+        assert pkg_univnewlines.c == "hello\nworld"
+        from pkg_univnewlines import mod
+        assert mod.a == 15
+        assert mod.b == 16
+        assert mod.c == "foo\nbar"
+
 def _getlong(data):
     x = marshal.dumps(data)
     return x[-4:]



More information about the Pypy-commit mailing list