diff --git a/unittest/mgos_gpio.c b/unittest/mgos_gpio.c
index 7c61beb..95a0eb8 100644
--- a/unittest/mgos_gpio.c
+++ b/unittest/mgos_gpio.c
@@ -30,3 +30,8 @@ void mgos_gpio_inject(int pin) {
     s_handler_cb(pin, s_handler_cb_arg);
   }
 }
+
+bool mgos_gpio_read(int pin) {
+  return false;
+  (void) pin;
+}
diff --git a/unittest/mgos_gpio.h b/unittest/mgos_gpio.h
index 6894be9..f14a27a 100644
--- a/unittest/mgos_gpio.h
+++ b/unittest/mgos_gpio.h
@@ -32,6 +32,7 @@ bool mgos_gpio_set_button_handler(int pin, enum mgos_gpio_pull_type pull_type,
                                   enum mgos_gpio_int_mode int_mode,
                                   int debounce_ms, mgos_gpio_int_handler_f cb,
                                   void *arg);
+bool mgos_gpio_read(int pin);
 
 void mgos_gpio_inject(int pin);
 
diff --git a/unittest/mgos_mock.c b/unittest/mgos_mock.c
index 4393ed3..063a142 100644
--- a/unittest/mgos_mock.c
+++ b/unittest/mgos_mock.c
@@ -78,3 +78,11 @@ bool mgos_net_get_ip_info(enum mgos_net_if_type if_type, int if_instance, struct
 void mgos_net_ip_to_str(const struct sockaddr_in *sin, char *out) {
   return;
 }
+
+void mgos_usleep(uint32_t usecs) {
+  usleep(usecs);
+}
+
+void mgos_msleep(uint32_t msecs) {
+  usleep(1000 * msecs);
+}
diff --git a/unittest/mgos_mock.h b/unittest/mgos_mock.h
index 8d2d1ef..853e2c7 100644
--- a/unittest/mgos_mock.h
+++ b/unittest/mgos_mock.h
@@ -45,4 +45,7 @@ double mgos_uptime();
 char *mgos_sys_ro_vars_get_mac_address();
 char *mgos_sys_ro_vars_get_arch();
 
+void mgos_usleep(uint32_t usecs);
+void mgos_msleep(uint32_t msecs);
+
 #endif // __MGOS_MOCK_H