1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# mode: run
# tag: py3only,pytime
import time
from cpython cimport time as ctime
def test_time():
"""
>>> tic1, tic2, tic3 = test_time()
>>> tic1 <= tic3 # sanity check
True
>>> tic1 <= tic2
True
>>> tic2 <= tic3
True
"""
# check that ctime.time() matches time.time() to within call-time tolerance
tic1 = time.time()
tic2 = ctime.time()
tic3 = time.time()
return tic1, tic2, tic3
def test_localtime():
"""
>>> ltp, ltc = test_localtime()
>>> ltp.tm_year == ltc['tm_year'] or (ltp.tm_year, ltc['tm_year'])
True
>>> ltp.tm_mon == ltc['tm_mon'] or (ltp.tm_mon, ltc['tm_mon'])
True
>>> ltp.tm_mday == ltc['tm_mday'] or (ltp.tm_mday, ltc['tm_mday'])
True
>>> ltp.tm_hour == ltc['tm_hour'] or (ltp.tm_hour, ltc['tm_hour'])
True
>>> ltp.tm_min == ltc['tm_min'] or (ltp.tm_min, ltc['tm_min'])
True
>>> ltp.tm_sec == ltc['tm_sec'] or (ltp.tm_sec, ltc['tm_sec'])
True
>>> ltp.tm_wday == ltc['tm_wday'] or (ltp.tm_wday, ltc['tm_wday'])
True
>>> ltp.tm_yday == ltc['tm_yday'] or (ltp.tm_yday, ltc['tm_yday'])
True
>>> ltp.tm_isdst == ltc['tm_isdst'] or (ltp.tm_isdst, ltc['tm_isdst'])
True
"""
ltp = time.localtime()
ltc = ctime.localtime()
if ltp.tm_sec != ltc.tm_sec:
# If the time.localtime call is just before the end of a second and the
# ctime.localtime call is just after the beginning of the next second,
# re-call. This should not occur twice in a row.
ltp = time.localtime()
ltc = ctime.localtime()
return ltp, ltc
|