MCPcopy Index your code
hub / github.com/python/cpython / test_AsTimeval_clamp

Method test_AsTimeval_clamp

Lib/test/test_time.py:1073–1096  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1071 @unittest.skipUnless(hasattr(_testinternalcapi, '_PyTime_AsTimeval_clamp'),
1072 'need _testinternalcapi._PyTime_AsTimeval_clamp')
1073 def test_AsTimeval_clamp(self):
1074 from _testinternalcapi import _PyTime_AsTimeval_clamp
1075
1076 if sys.platform == 'win32':
1077 from _testcapi import LONG_MIN, LONG_MAX
1078 tv_sec_max = LONG_MAX
1079 tv_sec_min = LONG_MIN
1080 else:
1081 tv_sec_max = self.time_t_max
1082 tv_sec_min = self.time_t_min
1083
1084 for t in (PyTime_MIN, PyTime_MAX):
1085 ts = _PyTime_AsTimeval_clamp(t, _PyTime.ROUND_CEILING)
1086 with decimal.localcontext() as context:
1087 context.rounding = decimal.ROUND_CEILING
1088 us = self.decimal_round(decimal.Decimal(t) / US_TO_NS)
1089 tv_sec, tv_usec = divmod(us, SEC_TO_US)
1090 if tv_sec_max < tv_sec:
1091 tv_sec = tv_sec_max
1092 tv_usec = 0
1093 elif tv_sec < tv_sec_min:
1094 tv_sec = tv_sec_min
1095 tv_usec = 0
1096 self.assertEqual(ts, (tv_sec, tv_usec))
1097
1098 @unittest.skipUnless(hasattr(_testinternalcapi, '_PyTime_AsTimespec_clamp'),
1099 'need _testinternalcapi._PyTime_AsTimespec_clamp')

Callers

nothing calls this directly

Calls 2

decimal_roundMethod · 0.80
assertEqualMethod · 0.45

Tested by

no test coverage detected