[pypy-svn] r77396 - in pypy/branch/fast-forward: lib-python pypy/module/_ast/test

afa at codespeak.net afa at codespeak.net
Sun Sep 26 23:22:47 CEST 2010


Author: afa
Date: Sun Sep 26 23:22:46 2010
New Revision: 77396

Modified:
   pypy/branch/fast-forward/lib-python/TODO
   pypy/branch/fast-forward/pypy/module/_ast/test/test_ast.py
Log:
TODO: AST objects must be picklable


Modified: pypy/branch/fast-forward/lib-python/TODO
==============================================================================
--- pypy/branch/fast-forward/lib-python/TODO	(original)
+++ pypy/branch/fast-forward/lib-python/TODO	Sun Sep 26 23:22:46 2010
@@ -24,6 +24,12 @@
 
       @test_support.cpython_only
 
+Medium tasks
+------------
+
+- Ast objects should be picklable, see in pypy/module/_ast/test/test_ast.py:
+  test_pickle()
+
 Longer tasks
 ------------
 

Modified: pypy/branch/fast-forward/pypy/module/_ast/test/test_ast.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/_ast/test/test_ast.py	(original)
+++ pypy/branch/fast-forward/pypy/module/_ast/test/test_ast.py	Sun Sep 26 23:22:46 2010
@@ -168,9 +168,22 @@
     def test_future(self):
         mod = self.get_ast("from __future__ import with_statement")
         compile(mod, "<test>", "exec")
-        mod = self.get_ast(""""I'm a docstring."\n
+        mod = self.get_ast(""""I am a docstring."\n
 from __future__ import generators""")
         compile(mod, "<test>", "exec")
         mod = self.get_ast("from __future__ import with_statement; import y; " \
                                "from __future__ import nested_scopes")
         raises(SyntaxError, compile, mod, "<test>", "exec")
+
+    def test_pickle(self):
+        skip("XXX implement me")
+        import pickle
+        mod = self.get_ast("if y: x = 4")
+        co = compile(mod, "<example>", "exec")
+
+        s = pickle.dumps(mod)
+        mod2 = pickle.loads(s)
+        ns = {"y" : 1}
+        co2 = compile(mod2, "<example>", "exec")
+        exec co2 in ns
+        assert ns["x"] == 4



More information about the Pypy-commit mailing list