mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +00:00
Speed up test_io by >2x by reducing the sleep time using setitimer instead of
alarm for the signal tests.
This commit is contained in:
parent
7349eb27d7
commit
8150492f11
1 changed files with 5 additions and 5 deletions
|
@ -2868,7 +2868,7 @@ class SignalsTest(unittest.TestCase):
|
|||
try:
|
||||
wio = self.io.open(w, **fdopen_kwargs)
|
||||
t.start()
|
||||
signal.alarm(1)
|
||||
signal.setitimer(signal.ITIMER_REAL, 0.1)
|
||||
# Fill the pipe enough that the write will be blocking.
|
||||
# It will be interrupted by the timer armed above. Since the
|
||||
# other thread has read one byte, the low-level write will
|
||||
|
@ -2912,7 +2912,7 @@ class SignalsTest(unittest.TestCase):
|
|||
r, w = os.pipe()
|
||||
wio = self.io.open(w, **fdopen_kwargs)
|
||||
try:
|
||||
signal.alarm(1)
|
||||
signal.setitimer(signal.ITIMER_REAL, 0.1)
|
||||
# Either the reentrant call to wio.write() fails with RuntimeError,
|
||||
# or the signal handler raises ZeroDivisionError.
|
||||
with self.assertRaises((ZeroDivisionError, RuntimeError)) as cm:
|
||||
|
@ -2947,7 +2947,7 @@ class SignalsTest(unittest.TestCase):
|
|||
try:
|
||||
rio = self.io.open(r, **fdopen_kwargs)
|
||||
os.write(w, b"foo")
|
||||
signal.alarm(1)
|
||||
signal.setitimer(signal.ITIMER_REAL, 0.1)
|
||||
# Expected behaviour:
|
||||
# - first raw read() returns partial b"foo"
|
||||
# - second raw read() returns EINTR
|
||||
|
@ -2991,13 +2991,13 @@ class SignalsTest(unittest.TestCase):
|
|||
t.daemon = True
|
||||
def alarm1(sig, frame):
|
||||
signal.signal(signal.SIGALRM, alarm2)
|
||||
signal.alarm(1)
|
||||
signal.setitimer(signal.ITIMER_REAL, 0.1)
|
||||
def alarm2(sig, frame):
|
||||
t.start()
|
||||
signal.signal(signal.SIGALRM, alarm1)
|
||||
try:
|
||||
wio = self.io.open(w, **fdopen_kwargs)
|
||||
signal.alarm(1)
|
||||
signal.setitimer(signal.ITIMER_REAL, 0.1)
|
||||
# Expected behaviour:
|
||||
# - first raw write() is partial (because of the limited pipe buffer
|
||||
# and the first alarm)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue