Author: Raffael Tfirst <raffael.tfi...@gmail.com>
Branch: py3.5-async
Changeset: r86287:5f146fc69289
Date: 2016-08-18 20:17 +0200
http://bitbucket.org/pypy/pypy/changeset/5f146fc69289/

Log:    Check for correct values in 'async for' test

diff --git a/pypy/module/_asyncio/test/test_asyncio.py 
b/pypy/module/_asyncio/test/test_asyncio.py
--- a/pypy/module/_asyncio/test/test_asyncio.py
+++ b/pypy/module/_asyncio/test/test_asyncio.py
@@ -19,17 +19,14 @@
 
 loop = asyncio.get_event_loop()
 loop.run_until_complete(f())
-print("done with async loop")
         """
     
     def test_async_for(self):
-        # temporary test from
-        # 
http://blog.idego.pl/2015/12/05/back-to-the-future-with-async-and-await-in-python-3-5/
+        # tests if async for receives all stores values in the right order
+        # and if the correct methods __aiter__ and __anext__ get called
+        # and if the end results of run_until_complete are None (in a tuple)
         """
 import asyncio
-import logging
-import sys
-logging.basicConfig(level=logging.INFO, stream=sys.stdout, 
format="%(asctime)s: %(message)s")
 
 class AsyncIter:
     def __init__(self):
@@ -46,13 +43,32 @@
             return self._data[self._index-1]
         raise StopAsyncIteration
 
-async def do_loop():
-    async for x in AsyncIter():
-        logging.info(x)
+class Corotest(object):
+    def __init__(self):
+        self.res = "-"
+    
+    async def do_loop(self):
+        async for x in AsyncIter():
+            self.res += str(x)
+            self.res += "-"
 
+cor = Corotest()
 loop = asyncio.get_event_loop()
-futures = [asyncio.ensure_future(do_loop()), asyncio.ensure_future(do_loop())]
-loop.run_until_complete(asyncio.wait(futures))
+futures = [asyncio.ensure_future(cor.do_loop()), 
asyncio.ensure_future(cor.do_loop())]
+taskres = loop.run_until_complete(asyncio.wait(futures))
+assert cor.res.count('0') == 2
+assert cor.res.count('1') == 2
+assert cor.res.count('2') == 2
+assert cor.res.count('3') == 2
+assert cor.res.count('4') == 2
+assert cor.res.find("0") < cor.res.find("1")
+assert cor.res.find("1") < cor.res.find("2")
+assert cor.res.find("2") < cor.res.find("3")
+assert cor.res.find("3") < cor.res.find("4")
+assert isinstance(taskres, tuple)
+assert len(taskres) == 2
+assert "result=None" in repr(taskres[0].pop())
+assert "result=None" in repr(taskres[0].pop())
         """
     
     def test_asynchronous_context_managers(self):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to