def monkeypatch_machine():
from mock import Mock
import uuid
import machine
# Some primitives.
machine.enable_irq = Mock()
machine.disable_irq = Mock()
machine.unique_id = lambda: str(uuid.uuid4().fields[-1])[:5].encode()
machine.freq = Mock(return_value=42000000)
machine.idle = Mock()
# Reset cause and wake reason.
machine.PWRON_RESET = 0
machine.HARD_RESET = 1
machine.WDT_RESET = 2
machine.DEEPSLEEP_RESET = 3
machine.SOFT_RESET = 4
machine.BROWN_OUT_RESET = 5
machine.PWRON_WAKE = 0
machine.GPIO_WAKE = 1
machine.RTC_WAKE = 2
machine.ULP_WAKE = 3
machine.reset_cause = Mock(return_value=0)
machine.wake_reason = wake_reason