Busy wait easy-peasy
Although you wouldn't want to do much busy waiting in your production code, Testing is a different matter. When testing asynchronous systems, it's very helpful to wait for somescenario to finish its course. BusyPie will help you to do busy waiting easily and expressively.
To install it using pip
python -m pip install busypie
To include it in requirements.txt file add
Most typical usage will be in test, when we have a scenario that require us to wait for something to happen.
def test_event_should_be_dispatched(): dispatcher.dispatch(event) wait().at_most(2, SECONDS).until(event_dispatched)
Wait for a condition. Default wait time is 10 seconds.
Specify maximum time to meet the condition
wait().at_most(FIVE_SECONDS).until(condition_function) wait_at_most(FIVE_SECONDS).until(condition_function) wait().at_most(10, SECOND).until(condition_function) wait_at_most(10, SECONDS).until(condition_function)
Ignoring exceptions thrown from condition function
This project took a lot of inspiration from Awaitility
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.