я пишу тест для сервера. клиент и сервер во время теста крутятся в одном процессе и даже в одном tokio executor. Внутри сервера есть loop с tokio::select. На некоторые действия теста я хотел бы дождаться пока соответствующая ветка в select основного сервера не отработает прежде чем выполнять следующий шаг теста. Планирую прокинуть Barrier на каждую ветку select в основном сервере и обмазать это дело #[cfg(test)], чтобы в релизе ничего этого не было. Выглядит коряво, может есть что-то более готовое? Скажем какой-нибудь хитрый комбинатор над футурами, который бы еще и порядком их готовности в select управлял, чтоб еще более хитрые сценарии протвестировать?