Explorar o código

Merge branch 'bugfix/time_ut_wakeup_from_deep_sleep' into 'master'

esp32/test: Reduces a unit test execution time

See merge request idf/esp-idf!2776
Ivan Grokhotkov %!s(int64=7) %!d(string=hai) anos
pai
achega
ea452920bb
Modificáronse 1 ficheiros con 6 adicións e 4 borrados
  1. 6 4
      components/esp32/test/test_sleep.c

+ 6 - 4
components/esp32/test/test_sleep.c

@@ -343,19 +343,21 @@ TEST_CASE("disable source trigger behavior", "[deepsleep]")
 static RTC_DATA_ATTR struct timeval start;
 static void trigger_deepsleep(void)
 {
-    printf("Trigger deep sleep. Waiting 30 sec ...\n");
+    printf("Trigger deep sleep. Waiting for 10 sec ...\n");
 
     // Simulate the dispersion of the calibration coefficients at start-up.
     // Corrupt the calibration factor.
-    esp_clk_slowclk_cal_set(esp_clk_slowclk_cal_get() - 1000000);
+    esp_clk_slowclk_cal_set(esp_clk_slowclk_cal_get() / 2);
     esp_set_time_from_rtc();
 
     // Delay for time error accumulation.
-    vTaskDelay(30000/portTICK_RATE_MS);
+    vTaskDelay(10000/portTICK_RATE_MS);
 
     // Save start time. Deep sleep.
     gettimeofday(&start, NULL);
     esp_sleep_enable_timer_wakeup(1000);
+    // In function esp_deep_sleep_start() uses function esp_sync_counters_rtc_and_frc() 
+    // to prevent a negative time after wake up.
     esp_deep_sleep_start();
 }
 
@@ -371,4 +373,4 @@ static void check_time_deepsleep(void)
     TEST_ASSERT_MESSAGE(dt_ms > 0, "Time in deep sleep is negative");
 }
 
-TEST_CASE_MULTIPLE_STAGES("check a time after wakeup from deep sleep", "[deepsleep][reset=DEEPSLEEP_RESET][timeout=60]", trigger_deepsleep, check_time_deepsleep);
+TEST_CASE_MULTIPLE_STAGES("check a time after wakeup from deep sleep", "[deepsleep][reset=DEEPSLEEP_RESET]", trigger_deepsleep, check_time_deepsleep);