1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#!/usr/bin/env python
import pytest
from circuits import Component, Event
pytestmark = pytest.mark.skip('XXX: This test fails intermittently')
class test(Event):
"""test Event"""
class coroutine1(Event):
"""coroutine Event"""
complete = True
class coroutine2(Event):
"""coroutine Event"""
complete = True
class App(Component):
returned = False
def test(self, event):
event.stop()
return 'Hello World!'
def coroutine1(self):
print('coroutine1')
yield self.call(test())
print('returned')
self.returned = True
def coroutine2(self):
print('coroutine2')
self.fire(test())
yield self.wait('test')
print('returned')
self.returned = True
@pytest.fixture()
def app(request, manager, watcher):
app = App().register(manager)
assert watcher.wait('registered')
def finalizer():
app.unregister()
request.addfinalizer(finalizer)
return app
def test_coroutine(manager, watcher, app):
manager.fire(coroutine1())
assert watcher.wait('coroutine1_complete')
assert app.returned, 'coroutine1'
app.returned = False
manager.fire(coroutine2())
assert watcher.wait('coroutine2_complete')
assert app.returned, 'coroutine2'
|