forked from LBRYCommunity/lbry-sdk
add locking cases scenarios
This commit is contained in:
parent
2e09d2adfa
commit
77c69f661d
1 changed files with 13 additions and 1 deletions
|
@ -17,10 +17,10 @@ class MockAsyncGen:
|
||||||
return self
|
return self
|
||||||
|
|
||||||
async def __anext__(self):
|
async def __anext__(self):
|
||||||
|
await asyncio.sleep(self.delay, loop=self.loop)
|
||||||
if self.count > self.stop_cnt - 1:
|
if self.count > self.stop_cnt - 1:
|
||||||
raise StopAsyncIteration()
|
raise StopAsyncIteration()
|
||||||
self.count += 1
|
self.count += 1
|
||||||
await asyncio.sleep(self.delay, loop=self.loop)
|
|
||||||
return self.result
|
return self.result
|
||||||
|
|
||||||
async def aclose(self):
|
async def aclose(self):
|
||||||
|
@ -48,6 +48,18 @@ class TestAsyncGeneratorJunction(AsyncioTestCase):
|
||||||
self.assertEqual(fast_gen.called_close, True)
|
self.assertEqual(fast_gen.called_close, True)
|
||||||
self.assertEqual(slow_gen.called_close, True)
|
self.assertEqual(slow_gen.called_close, True)
|
||||||
|
|
||||||
|
async def test_nothing_to_yield(self):
|
||||||
|
async def __nothing():
|
||||||
|
for _ in []:
|
||||||
|
yield self.fail("nada")
|
||||||
|
await self._test_junction([], __nothing())
|
||||||
|
|
||||||
|
async def test_fast_iteratiors(self):
|
||||||
|
async def __gotta_go_fast():
|
||||||
|
for _ in range(10):
|
||||||
|
yield 0
|
||||||
|
await self._test_junction([0]*40, __gotta_go_fast(), __gotta_go_fast(), __gotta_go_fast(), __gotta_go_fast())
|
||||||
|
|
||||||
@unittest.SkipTest
|
@unittest.SkipTest
|
||||||
async def test_one_stopped_first(self):
|
async def test_one_stopped_first(self):
|
||||||
expected_order = [1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2]
|
expected_order = [1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2]
|
||||||
|
|
Loading…
Reference in a new issue