уточнение: моя задача (наверное) легко и просто решается при использовании вытесняющей ОС. Поэтому уточняем исходные предпосылки: 1) используется кооперативная ОС; 2) нужна возможность безболезненного тестирования асинхронных функций и функций, которые вызывают асинхронные функции.
Если мне для тестов надо запускать всю шарманку с кооперативной осью и ее шедулером, то на этом можно дело заканчивать сразу, ибо это будет дикий геморрой.