mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
newlib: Fix UT for adjtime
This commit is contained in:
parent
39e318977d
commit
15e408d070
@ -81,25 +81,27 @@ TEST_CASE("test adjtime function", "[newlib]")
|
|||||||
tv_delta.tv_sec = 0;
|
tv_delta.tv_sec = 0;
|
||||||
tv_delta.tv_usec = -900000;
|
tv_delta.tv_usec = -900000;
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec <= 0);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 0);
|
||||||
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_usec, 0);
|
||||||
tv_delta.tv_sec = 0;
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
tv_delta.tv_usec = 900000;
|
TEST_ASSERT_LESS_THAN(-800000, tv_outdelta.tv_usec);
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec >= 0);
|
|
||||||
|
|
||||||
tv_delta.tv_sec = -4;
|
tv_delta.tv_sec = -4;
|
||||||
tv_delta.tv_usec = -900000;
|
tv_delta.tv_usec = -900000;
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(&tv_delta, NULL), 0);
|
||||||
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, -4);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, -4);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec <= 0);
|
TEST_ASSERT_LESS_THAN(-800000, tv_outdelta.tv_usec);
|
||||||
|
|
||||||
// after settimeofday() adjtime() is stopped
|
// after settimeofday() adjtime() is stopped
|
||||||
tv_delta.tv_sec = 15;
|
tv_delta.tv_sec = 15;
|
||||||
tv_delta.tv_usec = 900000;
|
tv_delta.tv_usec = 900000;
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
||||||
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, -4);
|
||||||
|
TEST_ASSERT_LESS_THAN(-800000, tv_outdelta.tv_usec);
|
||||||
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec >= 0);
|
TEST_ASSERT_GREATER_OR_EQUAL(800000, tv_outdelta.tv_usec);
|
||||||
|
|
||||||
TEST_ASSERT_EQUAL(gettimeofday(&tv_time, NULL), 0);
|
TEST_ASSERT_EQUAL(gettimeofday(&tv_time, NULL), 0);
|
||||||
TEST_ASSERT_EQUAL(settimeofday(&tv_time, NULL), 0);
|
TEST_ASSERT_EQUAL(settimeofday(&tv_time, NULL), 0);
|
||||||
@ -112,21 +114,24 @@ TEST_CASE("test adjtime function", "[newlib]")
|
|||||||
tv_delta.tv_sec = 15;
|
tv_delta.tv_sec = 15;
|
||||||
tv_delta.tv_usec = 900000;
|
tv_delta.tv_usec = 900000;
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(&tv_delta, &tv_outdelta), 0);
|
||||||
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 0);
|
||||||
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_usec, 0);
|
||||||
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec >= 0);
|
TEST_ASSERT_GREATER_OR_EQUAL(800000, tv_outdelta.tv_usec);
|
||||||
|
|
||||||
TEST_ASSERT_EQUAL(gettimeofday(&tv_time, NULL), 0);
|
TEST_ASSERT_EQUAL(gettimeofday(&tv_time, NULL), 0);
|
||||||
|
|
||||||
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 15);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_usec >= 0);
|
TEST_ASSERT_GREATER_OR_EQUAL(800000, tv_outdelta.tv_usec);
|
||||||
|
|
||||||
tv_delta.tv_sec = 1;
|
tv_delta.tv_sec = 1;
|
||||||
tv_delta.tv_usec = 0;
|
tv_delta.tv_usec = 0;
|
||||||
TEST_ASSERT_EQUAL(adjtime(&tv_delta, NULL), 0);
|
TEST_ASSERT_EQUAL(adjtime(&tv_delta, NULL), 0);
|
||||||
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
||||||
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
TEST_ASSERT_EQUAL(adjtime(NULL, &tv_outdelta), 0);
|
||||||
TEST_ASSERT_TRUE(tv_outdelta.tv_sec == 0);
|
TEST_ASSERT_EQUAL(tv_outdelta.tv_sec, 0);
|
||||||
// the correction will be equal to (1_000_000us >> 6) = 15_625 us.
|
// the correction will be equal to (1_000_000us >> 6) = 15_625 us.
|
||||||
TEST_ASSERT_TRUE(1000000L - tv_outdelta.tv_usec >= 15600);
|
TEST_ASSERT_TRUE(1000000L - tv_outdelta.tv_usec >= 15600);
|
||||||
TEST_ASSERT_TRUE(1000000L - tv_outdelta.tv_usec <= 15650);
|
TEST_ASSERT_TRUE(1000000L - tv_outdelta.tv_usec <= 15650);
|
||||||
|
Loading…
Reference in New Issue
Block a user