Skip to content

Commit

Permalink
Use proper concurrency methods in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nocarryr committed Apr 21, 2017
1 parent 8375067 commit 4510fa8
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
21 changes: 14 additions & 7 deletions tests/kv/test_kv_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,29 @@

@pytest.mark.asyncio
async def test_vidhub_routing(kivy_app, KvEventWaiter):
from vidhubcontrol.backends import DummyBackend

kv_waiter = KvEventWaiter()
kv_waiter.bind(kivy_app, 'on_start')
kivy_app.run()
await kv_waiter.wait()

config = kivy_app.vidhub_config
vidhub1 = await DummyBackend.create_async(device_id='dummy1', device_name='Dummy 1')
vidhub2 = await DummyBackend.create_async(device_id='dummy2', device_name='Dummy 2')

async def build_vidhub(**kwargs):
async def do_build(**kwargs_):
obj = config.build_backend('vidhub', 'DummyBackend', **kwargs_)
await obj.connect_fut
kivy_app.run_async_coro(do_build(**kwargs))

kv_waiter.bind(kivy_app, 'vidhubs')
config.add_vidhub(vidhub1)

await build_vidhub(device_id='dummy1', device_name='Dummy 1')
await kv_waiter.wait()
config.add_vidhub(vidhub2)
vidhub1 = kivy_app.vidhubs['dummy1']

await build_vidhub(device_id='dummy2', device_name='Dummy 2')
await kv_waiter.wait()
vidhub2 = kivy_app.vidhubs['dummy2']

kv_waiter.bind(kivy_app.root, 'active_widget')
kivy_app.selected_device = vidhub1
Expand Down Expand Up @@ -79,10 +86,10 @@ def check_values(_vidhub):
kv_waiter2.bind(output_button_grid, 'button_labels')

lbls = [(i, 'FOO IN {}'.format(i)) for i in range(vidhub1.num_inputs)]
await vidhub1.set_input_labels(*lbls)
kivy_app.run_async_coro(vidhub1.set_input_labels(*lbls))

lbls = [(i, 'FOO OUT {}'.format(i)) for i in range(vidhub1.num_outputs)]
await vidhub1.set_output_labels(*lbls)
kivy_app.run_async_coro(vidhub1.set_output_labels(*lbls))

await kv_waiter.wait()
await kv_waiter2.wait()
Expand Down
12 changes: 8 additions & 4 deletions tests/kv/test_kv_edit.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,23 @@

@pytest.mark.asyncio
async def test_vidhub_edit(kivy_app, KvEventWaiter):
from vidhubcontrol.backends import DummyBackend

kv_waiter = KvEventWaiter()
kv_waiter.bind(kivy_app, 'on_start')
kivy_app.run()
await kv_waiter.wait()

config = kivy_app.vidhub_config
vidhub = await DummyBackend.create_async(device_id='dummy1', device_name='Dummy 1')
async def build_vidhub(**kwargs):
async def do_build(**kwargs_):
obj = config.build_backend('vidhub', 'DummyBackend', **kwargs_)
await obj.connect_fut
kivy_app.run_async_coro(do_build(**kwargs))

kv_waiter.bind(kivy_app, 'vidhubs')
config.add_vidhub(vidhub)
await build_vidhub(device_id='dummy1', device_name='Dummy 1')
await kv_waiter.wait()
vidhub = kivy_app.vidhubs['dummy1']

kv_waiter.bind(kivy_app.root, 'active_widget')
kivy_app.selected_device = vidhub
Expand Down Expand Up @@ -78,7 +82,7 @@ def check_values():

# Set label from vidhub and test ui updates
lbl = '{} FOO {}'.format(lbl_type, i)
await vidhub_set_fn(i, lbl)
kivy_app.run_async_coro(vidhub_set_fn(i, lbl))
await kv_waiter.wait()

assert vidhub_labels[i] == item.text == lbl
Expand Down

0 comments on commit 4510fa8

Please sign in to comment.