[pypy-commit] pypy inline-simple-generators: (fijal, hodgestar) Add test_pypy_c for generators.

hodgestar noreply at buildbot.pypy.org
Sun Jul 24 21:44:14 CEST 2011


Author: Simon Cross <hodgestar at gmail.com>
Branch: inline-simple-generators
Changeset: r45950:f8569277fc1f
Date: 2011-07-24 21:44 +0200
http://bitbucket.org/pypy/pypy/changeset/f8569277fc1f/

Log:	(fijal, hodgestar) Add test_pypy_c for generators.

diff --git a/pypy/module/pypyjit/test_pypy_c/test_generators.py b/pypy/module/pypyjit/test_pypy_c/test_generators.py
new file mode 100644
--- /dev/null
+++ b/pypy/module/pypyjit/test_pypy_c/test_generators.py
@@ -0,0 +1,25 @@
+from pypy.module.pypyjit.test_pypy_c.test_00_model import BaseTestPyPyC
+
+
+class TestGenerators(BaseTestPyPyC):
+    def test_simple_generator(self):
+        def main(n):
+            def f():
+                for i in range(10000):
+                    yield i
+
+            def g():
+                for i in f():  # ID: generator
+                    pass
+
+            g()
+
+        log = self.run(main, [500])
+        loop, = log.loops_by_filename(self.filepath)
+        assert loop.match_by_id("generator", """
+            i16 = force_token()
+            p45 = new_with_vtable(ConstClass(W_IntObject))
+            setfield_gc(p45, i29, descr=<SignedFieldDescr .*>)
+            setarrayitem_gc(p8, 0, p45, descr=<GcPtrArrayDescr>)
+            jump(..., descr=...)
+            """)


More information about the pypy-commit mailing list