mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
closes bpo-31596: Add an interface for pthread_getcpuclockid(3) (#3756)
This commit is contained in:
parent
55fd06605b
commit
e14679c784
7 changed files with 84 additions and 0 deletions
|
@ -7,6 +7,7 @@ import platform
|
|||
import sys
|
||||
import sysconfig
|
||||
import time
|
||||
import threading
|
||||
import unittest
|
||||
try:
|
||||
import _testcapi
|
||||
|
@ -80,6 +81,25 @@ class TimeTestCase(unittest.TestCase):
|
|||
b = time.clock_gettime(time.CLOCK_MONOTONIC)
|
||||
self.assertLessEqual(a, b)
|
||||
|
||||
@unittest.skipUnless(hasattr(time, 'pthread_getcpuclockid'),
|
||||
'need time.pthread_getcpuclockid()')
|
||||
@unittest.skipUnless(hasattr(time, 'clock_gettime'),
|
||||
'need time.clock_gettime()')
|
||||
@unittest.skipUnless(hasattr(time, 'CLOCK_THREAD_CPUTIME_ID'),
|
||||
'need time.CLOCK_THREAD_CPUTIME_ID')
|
||||
def test_pthread_getcpuclockid(self):
|
||||
clk_id = time.pthread_getcpuclockid(threading.get_ident())
|
||||
self.assertTrue(type(clk_id) is int)
|
||||
self.assertNotEqual(clk_id, time.CLOCK_THREAD_CPUTIME_ID)
|
||||
# This should suffice to show that both calls are measuring the same clock.
|
||||
t1 = time.clock_gettime(clk_id)
|
||||
t2 = time.clock_gettime(time.CLOCK_THREAD_CPUTIME_ID)
|
||||
t3 = time.clock_gettime(clk_id)
|
||||
t4 = time.clock_gettime(time.CLOCK_THREAD_CPUTIME_ID)
|
||||
self.assertLessEqual(t1, t2)
|
||||
self.assertLessEqual(t2, t3)
|
||||
self.assertLessEqual(t3, t4)
|
||||
|
||||
@unittest.skipUnless(hasattr(time, 'clock_getres'),
|
||||
'need time.clock_getres()')
|
||||
def test_clock_getres(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue