# lv_test_helpers.h (/api/debugging/test/lv_test_helpers_h)



<ApiSummary functions="2" macros="3" />

Functions [#functions]

<ApiMember kind="function" name="lv_test_wait" file="debugging/test/lv_test_helpers.h" line="43" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/debugging/test/lv_test_helpers.h#L43">
  lv_test_wait [#lv_test_wait]

  Emulate a delay. It's not real delay, but it tricks LVGL to think that the required time has been elapsed. `lv_timer_handler` is called after each millisecond, meaning all the events will be fired inside this function. At the end the animations and display will be also updated.

  ```c title=" " lineNumbers=1
  void lv_test_wait(uint32_t ms)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name | Type                        | Description                        |
  | ---- | --------------------------- | ---------------------------------- |
  | `ms` | <ApiLink name="uint32_t" /> | the number of milliseconds to pass |
</ApiMember>

<ApiMember kind="function" name="lv_test_fast_forward" file="debugging/test/lv_test_helpers.h" line="50" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/debugging/test/lv_test_helpers.h#L50">
  lv_test_fast_forward [#lv_test_fast_forward]

  Emulates some time passing. Update the animations and the display only once at the end.

  ```c title=" " lineNumbers=1
  void lv_test_fast_forward(uint32_t ms)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name | Type                        | Description                        |
  | ---- | --------------------------- | ---------------------------------- |
  | `ms` | <ApiLink name="uint32_t" /> | the number of milliseconds to pass |
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_HEAP_CHECK" file="debugging/test/lv_test_helpers.h" line="54" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/debugging/test/lv_test_helpers.h#L54">
  LV_HEAP_CHECK [#lv_heap_check]

  ```c title=" " lineNumbers=1
  #define LV_HEAP_CHECK(x) \
      do {} while(0)
  ```
</ApiMember>

<ApiMember kind="macro" name="lv_test_get_free_mem" file="debugging/test/lv_test_helpers.h" line="56" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/debugging/test/lv_test_helpers.h#L56">
  lv_test_get_free_mem [#lv_test_get_free_mem]

  ```c title=" " lineNumbers=1
  #define lv_test_get_free_mem() \
      (65536)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_TEST_WIDTH_TO_STRIDE" file="debugging/test/lv_test_helpers.h" line="72" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/debugging/test/lv_test_helpers.h#L72">
  LV_TEST_WIDTH_TO_STRIDE [#lv_test_width_to_stride]

  ```c title=" " lineNumbers=1
  #define LV_TEST_WIDTH_TO_STRIDE(w, px_size) \
      ((((w) * (px_size) + (LV_DRAW_BUF_STRIDE_ALIGN - 1)) / LV_DRAW_BUF_STRIDE_ALIGN) * LV_DRAW_BUF_STRIDE_ALIGN)
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_types.h&#x22;, &#x22;lv_mem.h&#x22;]" includedBy="[&#x22;lv_test.h&#x22;]" transitiveIncludes="[&#x22;lv_conf_kconfig.h&#x22;, &#x22;lv_string.h&#x22;]" />
