test_system_time.c 701 B

123456789101112131415161718192021222324252627
  1. #include <stdio.h>
  2. #include "unity.h"
  3. #include "esp_private/system_internal.h"
  4. #include "esp_private/esp_clk.h"
  5. TEST_CASE("Test effect of rtc clk calibration compensation on system time", "[esp_system]")
  6. {
  7. uint32_t prev_cal = esp_clk_slowclk_cal_get();
  8. int64_t t1 = esp_system_get_time();
  9. // Modify calibration value
  10. esp_clk_slowclk_cal_set(prev_cal/2);
  11. // Internally, the origin point of rtc clk has been adjusted
  12. // so that t2 > t1 remains true
  13. int64_t t2 = esp_system_get_time();
  14. TEST_ASSERT_GREATER_THAN(t1, t2);
  15. // Restore calibration value
  16. esp_clk_slowclk_cal_set(prev_cal);
  17. t2 = esp_system_get_time();
  18. TEST_ASSERT_GREATER_THAN(t1, t2);
  19. }