@@ -81,25 +81,27 @@ TEST_CASE("test adjtime function", "[newlib]")
81
81
tv_delta .tv_sec = 0 ;
82
82
tv_delta .tv_usec = -900000 ;
83
83
TEST_ASSERT_EQUAL (adjtime (& tv_delta , & tv_outdelta ), 0 );
84
- TEST_ASSERT_TRUE (tv_outdelta .tv_usec <= 0 );
85
-
86
- tv_delta .tv_sec = 0 ;
87
- tv_delta .tv_usec = 900000 ;
88
- TEST_ASSERT_EQUAL (adjtime (& tv_delta , & tv_outdelta ), 0 );
89
- TEST_ASSERT_TRUE (tv_outdelta .tv_usec >= 0 );
84
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 0 );
85
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_usec , 0 );
86
+ TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
87
+ TEST_ASSERT_LESS_THAN (-800000 , tv_outdelta .tv_usec );
90
88
91
89
tv_delta .tv_sec = -4 ;
92
90
tv_delta .tv_usec = -900000 ;
93
- TEST_ASSERT_EQUAL (adjtime (& tv_delta , & tv_outdelta ), 0 );
91
+ TEST_ASSERT_EQUAL (adjtime (& tv_delta , NULL ), 0 );
92
+ TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
94
93
TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , -4 );
95
- TEST_ASSERT_TRUE ( tv_outdelta .tv_usec <= 0 );
94
+ TEST_ASSERT_LESS_THAN ( -800000 , tv_outdelta .tv_usec );
96
95
97
96
// after settimeofday() adjtime() is stopped
98
97
tv_delta .tv_sec = 15 ;
99
98
tv_delta .tv_usec = 900000 ;
100
99
TEST_ASSERT_EQUAL (adjtime (& tv_delta , & tv_outdelta ), 0 );
100
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , -4 );
101
+ TEST_ASSERT_LESS_THAN (-800000 , tv_outdelta .tv_usec );
102
+ TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
101
103
TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 15 );
102
- TEST_ASSERT_TRUE ( tv_outdelta .tv_usec >= 0 );
104
+ TEST_ASSERT_GREATER_OR_EQUAL ( 800000 , tv_outdelta .tv_usec );
103
105
104
106
TEST_ASSERT_EQUAL (gettimeofday (& tv_time , NULL ), 0 );
105
107
TEST_ASSERT_EQUAL (settimeofday (& tv_time , NULL ), 0 );
@@ -112,21 +114,24 @@ TEST_CASE("test adjtime function", "[newlib]")
112
114
tv_delta .tv_sec = 15 ;
113
115
tv_delta .tv_usec = 900000 ;
114
116
TEST_ASSERT_EQUAL (adjtime (& tv_delta , & tv_outdelta ), 0 );
117
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 0 );
118
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_usec , 0 );
119
+ TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
115
120
TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 15 );
116
- TEST_ASSERT_TRUE ( tv_outdelta .tv_usec >= 0 );
121
+ TEST_ASSERT_GREATER_OR_EQUAL ( 800000 , tv_outdelta .tv_usec );
117
122
118
123
TEST_ASSERT_EQUAL (gettimeofday (& tv_time , NULL ), 0 );
119
124
120
125
TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
121
126
TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 15 );
122
- TEST_ASSERT_TRUE ( tv_outdelta .tv_usec >= 0 );
127
+ TEST_ASSERT_GREATER_OR_EQUAL ( 800000 , tv_outdelta .tv_usec );
123
128
124
129
tv_delta .tv_sec = 1 ;
125
130
tv_delta .tv_usec = 0 ;
126
131
TEST_ASSERT_EQUAL (adjtime (& tv_delta , NULL ), 0 );
127
132
vTaskDelay (1000 / portTICK_PERIOD_MS );
128
133
TEST_ASSERT_EQUAL (adjtime (NULL , & tv_outdelta ), 0 );
129
- TEST_ASSERT_TRUE (tv_outdelta .tv_sec == 0 );
134
+ TEST_ASSERT_EQUAL (tv_outdelta .tv_sec , 0 );
130
135
// the correction will be equal to (1_000_000us >> 6) = 15_625 us.
131
136
TEST_ASSERT_TRUE (1000000L - tv_outdelta .tv_usec >= 15600 );
132
137
TEST_ASSERT_TRUE (1000000L - tv_outdelta .tv_usec <= 15650 );
0 commit comments