bpo-46099: Fix pthread_getcpuclockid test on Solaris (GH-30140)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
This commit is contained in:
Jakub Kulík 2021-12-18 14:26:24 +01:00 committed by GitHub
parent 6fc91daf73
commit 427a490c49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 5 deletions

View File

@ -117,12 +117,13 @@ class TimeTestCase(unittest.TestCase):
clk_id = time.pthread_getcpuclockid(threading.get_ident())
self.assertTrue(type(clk_id) is int)
# when in 32-bit mode AIX only returns the predefined constant
if not platform.system() == "AIX":
self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
elif (sys.maxsize.bit_length() > 32):
self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
else:
if platform.system() == "AIX" and (sys.maxsize.bit_length() <= 32):
self.assertEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
# Solaris returns CLOCK_THREAD_CPUTIME_ID when current thread is given
elif sys.platform.startswith("sunos"):
self.assertEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
else:
self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
t1 = time.clock_gettime(clk_id)
t2 = time.clock_gettime(clk_id)
self.assertLessEqual(t1, t2)