Home | History | Annotate | Download | only in libutil

Lines Matching defs:tm

58 	struct tm * time_to_tm(const time_t *, struct tm *),
62 struct tm tm;
90 ATF_CHECK(time_to_tm(&t, &tm) != NULL);
92 ATF_CHECK_MSG(tm.tm_year + 1900 == year,
94 argstr, year, (int)tm.tm_year);
96 ATF_CHECK_MSG(tm.tm_mon + 1 == month,
98 argstr, month, (int)tm.tm_mon);
100 ATF_CHECK_MSG(tm.tm_mday == day,
102 argstr, day, (int)tm.tm_mday);
104 ATF_CHECK_MSG(tm.tm_hour == hour,
106 argstr, hour, (int)tm.tm_hour);
108 ATF_CHECK_MSG(tm.tm_min == minute,
110 argstr, minute, (int)tm.tm_min);
112 ATF_CHECK_MSG(tm.tm_sec == second,
114 argstr, second, (int)tm.tm_sec);
245 struct tm tm;
265 tm = (struct tm){
269 t = mktime(&tm);
288 struct tm tm;
291 #define REL_CHECK(s, now, tm) do { \
295 q = mktime(&tm); \
320 ATF_CHECK(localtime_r(&now, &tm) != NULL);
321 tm.tm_mday--;
323 tm.tm_isdst = -1;
324 REL_CHECK("yesterday", now, tm);
326 ATF_CHECK(localtime_r(&now, &tm) != NULL);
327 tm.tm_mday++;
329 tm.tm_isdst = -1;
330 REL_CHECK("tomorrow", now, tm);
332 ATF_CHECK(localtime_r(&now, &tm) != NULL);
333 if (tm.tm_wday > 4)
334 tm.tm_mday += 7;
335 tm.tm_mday += 4 - tm.tm_wday;
337 tm.tm_sec = tm.tm_min = tm.tm_hour = 0;
338 tm.tm_isdst = -1;
339 REL_CHECK("this thursday", now, tm);
341 ATF_CHECK(localtime_r(&now, &tm) != NULL);
342 tm.tm_mday += 14 - (tm.tm_wday ? tm.tm_wday : 7);
343 tm.tm_sec = tm.tm_min = tm.tm_hour = 0;
344 tm.tm_isdst = -1;
345 REL_CHECK("next sunday", now, tm);
347 ATF_CHECK(localtime_r(&now, &tm) != NULL);
348 if (tm.tm_wday <= 5)
349 tm.tm_mday -= 7;
350 tm.tm_mday += 5 - tm.tm_wday;
351 tm.tm_sec = tm.tm_min = 0;
352 tm.tm_hour = 16;
353 tm.tm_isdst = -1;
354 REL_CHECK("last friday 4 p.m.", now, tm);
356 ATF_CHECK(localtime_r(&now, &tm) != NULL);
357 tm.tm_mday += 14;
358 if (tm.tm_wday > 3)
359 tm.tm_mday += 7;
360 tm.tm_mday += 3 - tm.tm_wday;
361 tm.tm_sec = tm.tm_min = 0;
362 tm.tm_hour = 3;
363 tm.tm_isdst = -1;
364 REL_CHECK("we fortnight 3 a.m.", now, tm);
366 ATF_CHECK(localtime_r(&now, &tm) != NULL);
367 tm.tm_min -= 5;
368 tm.tm_isdst = -1;
369 REL_CHECK("5 minutes ago", now, tm);
371 ATF_CHECK(localtime_r(&now, &tm) != NULL);
372 tm.tm_hour++;
373 tm.tm_min += 37;
374 tm.tm_isdst = -1;
375 REL_CHECK("97 minutes", now, tm);
377 ATF_CHECK(localtime_r(&now, &tm) != NULL);
378 tm.tm_mon++;
379 if (tm.tm_mon == 1 &&
380 tm.tm_mday > 28 + isleap(tm.tm_year))
381 tm.tm_mday = 28 + isleap(tm.tm_year);
382 else if ((tm.tm_mon == 3 || tm.tm_mon == 5 ||
383 tm.tm_mon == 8 || tm.tm_mon == 10) && tm.tm_mday == 31)
384 tm.tm_mday = 30;
385 tm.tm_isdst = -1;
386 REL_CHECK("month", now, tm);
388 ATF_CHECK(localtime_r(&now, &tm) != NULL);
389 tm.tm_mon += 2; /* "next" means add 2 ... */
390 if (tm.tm_mon == 13 &&
391 tm.tm_mday > 28 + isleap(tm.tm_year + 1))
392 tm.tm_mday = 28 + isleap(tm.tm_year + 1);
393 else if (tm.tm_mon == 8 && tm.tm_mday == 31)
394 tm.tm_mday = 30;
395 tm.tm_isdst = -1;
396 REL_CHECK("next month", now, tm);
398 ATF_CHECK(localtime_r(&now, &tm) != NULL);
399 tm.tm_mon--;
400 if (tm.tm_mon == 1 &&
401 tm.tm_mday > 28 + isleap(tm.tm_year))
402 tm.tm_mday = 28 + isleap(tm.tm_year);
403 else if ((tm.tm_mon == 3 || tm.tm_mon == 5 ||
404 tm.tm_mon == 8 || tm.tm_mon == 10) && tm.tm_mday == 31)
405 tm.tm_mday = 30;
406 tm.tm_isdst = -1;
407 REL_CHECK("last month", now, tm);
409 ATF_CHECK(localtime_r(&now, &tm) != NULL);
410 tm.tm_mon += 6;
411 if (tm.tm_mon == 13 &&
412 tm.tm_mday > 28 + isleap(tm.tm_year + 1))
413 tm.tm_mday = 28 + isleap(tm.tm_year + 1);
414 else if ((tm.tm_mon == 15 || tm.tm_mon == 17 ||
415 tm.tm_mon == 8 || tm.tm_mon == 10) && tm.tm_mday == 31)
416 tm.tm_mday = 30;
417 tm.tm_mday += 2;
418 tm.tm_isdst = -1;
419 REL_CHECK("+6 months 2 days", now, tm);
421 ATF_CHECK(localtime_r(&now, &tm) != NULL);
422 tm.tm_mon -= 9;
423 if (tm.tm_mon == 1 && tm.tm_mday > 28 + isleap(tm.tm_year))
424 tm.tm_mday = 28 + isleap(tm.tm_year);
425 else if ((tm.tm_mon == -9 || tm.tm_mon == -7 ||
426 tm.tm_mon == -2) && tm.tm_mday == 31)
427 tm.tm_mday = 30;
428 tm.tm_isdst = -1;
429 REL_CHECK("9 months ago", now, tm);
431 ATF_CHECK(localtime_r(&now, &tm) != NULL);
432 if (tm.tm_wday <= 2)
433 tm.tm_mday -= 7;
434 tm.tm_mday += 2 - tm.tm_wday;
435 tm.tm_isdst = -1;
436 tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
437 REL_CHECK("1 week ago Tu", now, tm);
439 ATF_CHECK(localtime_r(&now, &tm) != NULL);
440 tm.tm_isdst = -1;
441 tm.tm_mday++;
442 tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
443 REL_CHECK("midnight tomorrow", now, tm);
445 ATF_CHECK(localtime_r(&now, &tm) != NULL);
446 tm.tm_isdst = -1;
447 tm.tm_mday++;
448 tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
449 REL_CHECK("tomorrow midnight", now, tm);
451 ATF_CHECK(localtime_r(&now, &tm) != NULL);
452 tm.tm_isdst = -1;
453 tm.tm_mday++;
454 tm.tm_hour = 12;
455 tm.tm_min = tm.tm_sec = 0;
456 REL_CHECK("noon tomorrow", now, tm);
458 ATF_CHECK(localtime_r(&now, &tm) != NULL);
459 if (tm.tm_wday > 2)
460 tm.tm_mday += 7;
461 tm.tm_mday += 2 - tm.tm_wday;
462 tm.tm_sec = tm.tm_min = tm.tm_hour = 0;
463 tm.tm_isdst = -1;
464 REL_CHECK("midnight Tuesday", now, tm);
466 ATF_CHECK(localtime_r(&now, &tm) != NULL);
467 if (tm.tm_wday > 2 + 1)
468 tm.tm_mday += 7;
469 tm.tm_mday += 2 - tm.tm_wday;
470 tm.tm_mday++; /* xxx midnight --> the next day */
471 tm.tm_sec = tm.tm_min = tm.tm_hour = 0;
472 tm.tm_isdst = -1;
473 REL_CHECK("Tuesday midnight", now, tm);