Я могу легко заменить time.sleep достаточно для вещей, которые просто импортируют время, но некоторые вещи делают это из time import Sleep до того, как будет создан экземпляр моего прибора. До сих пор я использую gc.get_referrers для отслеживания любых ссылок на сон перед их заменой:
Код: Выделить всё
self._real_sleep = time.sleep
for ref in gc.get_referrers(time.sleep):
if (isinstance(ref, dict)
and "__name__" in ref
and "sleep" in ref
and ref["sleep"] is self._real_sleep):
self._monkey_patch(ref)
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-globally