Commits

Armin Rigo committed 76e6381

More tests, checked to work on CPython's greenlet

Comments (0)

Files changed (1)

pypy/module/test_lib_pypy/test_greenlet.py

         assert main.switch(3, x=5) == ((3,), {'x': 5})
         assert main.switch(3, x=5, y=6) == ((3,), {'x': 5, 'y': 6})
         assert main.switch(2, 3, x=6) == ((2, 3), {'x': 6})
+
+    def test_throw_GreenletExit_not_started(self):
+        import greenlet
+        def f():
+            never_executed
+        g = greenlet.greenlet(f)
+        e = greenlet.GreenletExit()
+        x = g.throw(e)
+        assert x is e
+
+    def test_throw_GreenletExit_already_finished(self):
+        import greenlet
+        def f():
+            pass
+        g = greenlet.greenlet(f)
+        g.switch()
+        e = greenlet.GreenletExit()
+        x = g.throw(e)
+        assert x is e
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.