bpo-40280: Detect presence of time.tzset and thread_time clock (GH-31898)

This commit is contained in:
Christian Heimes 2022-03-15 22:55:35 +02:00 committed by GitHub
parent af0a50de4b
commit a4674f0194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 2 deletions

View File

@ -5856,6 +5856,9 @@ class ZoneInfoTest(unittest.TestCase):
ldt = tz.fromutc(udt.replace(tzinfo=tz))
self.assertEqual(ldt.fold, 0)
@unittest.skipUnless(
hasattr(time, "tzset"), "time module has no attribute tzset"
)
def test_system_transitions(self):
if ('Riyadh8' in self.zonename or
# From tzdata NEWS file:

View File

@ -390,6 +390,9 @@ class StrptimeTests(unittest.TestCase):
"LocaleTime().timezone has duplicate values and "
"time.daylight but timezone value not set to -1")
@unittest.skipUnless(
hasattr(time, "tzset"), "time module has no attribute tzset"
)
def test_bad_timezone(self):
# Explicitly test possibility of bad timezone;
# when time.tzname[0] == time.tzname[1] and time.daylight

View File

@ -561,8 +561,9 @@ class TimeTestCase(unittest.TestCase):
'perf_counter',
'process_time',
'time',
'thread_time',
]
if hasattr(time, 'thread_time'):
clocks.append('thread_time')
for name in clocks:
with self.subTest(name=name):

View File

@ -1479,7 +1479,9 @@ _PyTime_GetThreadTimeWithInfo(_PyTime_t *tp, _Py_clock_info_t *info)
return 0;
}
#elif defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
#elif defined(HAVE_CLOCK_GETTIME) && \
defined(CLOCK_PROCESS_CPUTIME_ID) && \
!defined(__EMSCRIPTEN__)
#define HAVE_THREAD_TIME
#if defined(__APPLE__) && defined(__has_attribute) && __has_attribute(availability)