1# tag: posix 2from libc.stdlib cimport getenv 3from posix.stdlib cimport setenv, unsetenv 4from libc.time cimport * 5 6 7def test_time(): 8 """ 9 >>> test_time() 10 """ 11 cdef time_t t1, t2 12 t1 = time(NULL) 13 assert t1 != 0 14 t1 = time(&t2) 15 assert t1 == t2 16 17 18def test_mktime(): 19 """ 20 >>> test_mktime() # doctest:+ELLIPSIS 21 (986138177, ...'Sun Apr 1 15:16:17 2001\\n') 22 """ 23 cdef tm t, gmt 24 cdef time_t tt 25 cdef char *ct 26 cdef char *tz 27 28 tz = getenv("TZ") 29 setenv("TZ", "UTC", 1) 30 tzset() 31 t.tm_sec = 17 32 t.tm_min = 16 33 t.tm_hour = 15 34 t.tm_year = 101 35 t.tm_mon = 3 36 t.tm_mday = 1 37 t.tm_isdst = 0 38 tt = mktime(&t) 39 assert tt != -1 40 ct = ctime(&tt) 41 assert ct != NULL 42 if tz: 43 setenv("TZ", tz, 1) 44 else: 45 unsetenv("TZ") 46 tzset() 47 return tt, ct 48