@@ -64,6 +64,13 @@ TEST(KernelTimeout, FiniteTimes) {
64
64
EXPECT_TRUE (t.is_absolute_timeout ());
65
65
EXPECT_FALSE (t.is_relative_timeout ());
66
66
EXPECT_EQ (absl::TimeFromTimespec (t.MakeAbsTimespec ()), when);
67
+ #ifndef _WIN32
68
+ EXPECT_LE (
69
+ absl::AbsDuration (absl::Now () + duration -
70
+ absl::TimeFromTimespec (
71
+ t.MakeClockAbsoluteTimespec (CLOCK_REALTIME))),
72
+ absl::Milliseconds (10 ));
73
+ #endif
67
74
EXPECT_LE (
68
75
absl::AbsDuration (absl::DurationFromTimespec (t.MakeRelativeTimespec ()) -
69
76
std::max (duration, absl::ZeroDuration ())),
@@ -89,6 +96,10 @@ TEST(KernelTimeout, InfiniteFuture) {
89
96
// absl::InfiniteFuture(), but we should return a very large value.
90
97
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
91
98
absl::Now () + absl::Hours (100000 ));
99
+ #ifndef _WIN32
100
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
101
+ absl::Now () + absl::Hours (100000 ));
102
+ #endif
92
103
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
93
104
absl::Hours (100000 ));
94
105
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -110,6 +121,10 @@ TEST(KernelTimeout, DefaultConstructor) {
110
121
// absl::InfiniteFuture(), but we should return a very large value.
111
122
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
112
123
absl::Now () + absl::Hours (100000 ));
124
+ #ifndef _WIN32
125
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
126
+ absl::Now () + absl::Hours (100000 ));
127
+ #endif
113
128
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
114
129
absl::Hours (100000 ));
115
130
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -131,6 +146,10 @@ TEST(KernelTimeout, TimeMaxNanos) {
131
146
// absl::InfiniteFuture(), but we should return a very large value.
132
147
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
133
148
absl::Now () + absl::Hours (100000 ));
149
+ #ifndef _WIN32
150
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
151
+ absl::Now () + absl::Hours (100000 ));
152
+ #endif
134
153
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
135
154
absl::Hours (100000 ));
136
155
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -152,6 +171,10 @@ TEST(KernelTimeout, Never) {
152
171
// absl::InfiniteFuture(), but we should return a very large value.
153
172
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
154
173
absl::Now () + absl::Hours (100000 ));
174
+ #ifndef _WIN32
175
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
176
+ absl::Now () + absl::Hours (100000 ));
177
+ #endif
155
178
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
156
179
absl::Hours (100000 ));
157
180
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -170,6 +193,10 @@ TEST(KernelTimeout, InfinitePast) {
170
193
EXPECT_FALSE (t.is_relative_timeout ());
171
194
EXPECT_LE (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
172
195
absl::FromUnixNanos (1 ));
196
+ #ifndef _WIN32
197
+ EXPECT_LE (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
198
+ absl::FromUnixSeconds (1 ));
199
+ #endif
173
200
EXPECT_EQ (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
174
201
absl::ZeroDuration ());
175
202
EXPECT_LE (absl::FromUnixNanos (t.MakeAbsNanos ()), absl::FromUnixNanos (1 ));
@@ -200,6 +227,13 @@ TEST(KernelTimeout, FiniteDurations) {
200
227
EXPECT_LE (absl::AbsDuration (absl::Now () + duration -
201
228
absl::TimeFromTimespec (t.MakeAbsTimespec ())),
202
229
absl::Milliseconds (5 ));
230
+ #ifndef _WIN32
231
+ EXPECT_LE (
232
+ absl::AbsDuration (absl::Now () + duration -
233
+ absl::TimeFromTimespec (
234
+ t.MakeClockAbsoluteTimespec (CLOCK_REALTIME))),
235
+ absl::Milliseconds (5 ));
236
+ #endif
203
237
EXPECT_LE (
204
238
absl::AbsDuration (absl::DurationFromTimespec (t.MakeRelativeTimespec ()) -
205
239
duration),
@@ -241,6 +275,12 @@ TEST(KernelTimeout, NegativeDurations) {
241
275
EXPECT_LE (absl::AbsDuration (absl::Now () -
242
276
absl::TimeFromTimespec (t.MakeAbsTimespec ())),
243
277
absl::Milliseconds (5 ));
278
+ #ifndef _WIN32
279
+ EXPECT_LE (absl::AbsDuration (absl::Now () - absl::TimeFromTimespec (
280
+ t.MakeClockAbsoluteTimespec (
281
+ CLOCK_REALTIME))),
282
+ absl::Milliseconds (5 ));
283
+ #endif
244
284
EXPECT_EQ (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
245
285
absl::ZeroDuration ());
246
286
EXPECT_LE (
@@ -263,6 +303,10 @@ TEST(KernelTimeout, InfiniteDuration) {
263
303
// absl::InfiniteFuture(), but we should return a very large value.
264
304
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
265
305
absl::Now () + absl::Hours (100000 ));
306
+ #ifndef _WIN32
307
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
308
+ absl::Now () + absl::Hours (100000 ));
309
+ #endif
266
310
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
267
311
absl::Hours (100000 ));
268
312
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -284,6 +328,10 @@ TEST(KernelTimeout, DurationMaxNanos) {
284
328
// absl::InfiniteFuture(), but we should return a very large value.
285
329
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
286
330
absl::Now () + absl::Hours (100000 ));
331
+ #ifndef _WIN32
332
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
333
+ absl::Now () + absl::Hours (100000 ));
334
+ #endif
287
335
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
288
336
absl::Hours (100000 ));
289
337
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
@@ -305,6 +353,10 @@ TEST(KernelTimeout, OverflowNanos) {
305
353
// Timeouts should still be far in the future.
306
354
EXPECT_GT (absl::TimeFromTimespec (t.MakeAbsTimespec ()),
307
355
absl::Now () + absl::Hours (100000 ));
356
+ #ifndef _WIN32
357
+ EXPECT_GT (absl::TimeFromTimespec (t.MakeClockAbsoluteTimespec (CLOCK_REALTIME)),
358
+ absl::Now () + absl::Hours (100000 ));
359
+ #endif
308
360
EXPECT_GT (absl::DurationFromTimespec (t.MakeRelativeTimespec ()),
309
361
absl::Hours (100000 ));
310
362
EXPECT_GT (absl::FromUnixNanos (t.MakeAbsNanos ()),
0 commit comments