Как проверить эту передачу работы без паузы в надежде, что исполнитель успел запуститься?
Представим запрос с идентификатором. Исполнитель получает его из небуферизованного канала, записывает идентификатор в отдельную ячейку результата для этого запроса, затем отправляет подтверждение с тем же идентификатором. Завершение отправки назовём sent, запись результата назовём observed, а получение подтверждения назовём acknowledged.
Завершившаяся отправка по небуферизованному каналу свидетельствует, что соответствующее получение состоялось. Это не означает, что исполнитель завершил операторы после получения. Поэтому записи sent и observed могут появиться в журнале в любом порядке.
Я бы провёл границу теста в точке получения соответствующего подтверждения. Запись результата должна предшествовать отправке подтверждения исполнителем, а проверка результата должна идти после получения этого подтверждения тестом. Тогда наблюдение опирается на синхронизацию. Тайм-аут нужен, чтобы завершить зависший тест, но само ожидание такого срока не доказывает продвижения. Кажется, здесь можно обойтись простой передачей.