From 8150492f11f17e2a09f7deb7af706536bc326c98 Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Sat, 23 Jun 2012 23:46:37 -0700 Subject: Speed up test_io by >2x by reducing the sleep time using setitimer instead of alarm for the signal tests. --- Lib/test/test_io.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 95ecd90..28b4f06 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -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) -- cgit v0.12