diff options
author | Gregory P. Smith <greg@krypto.org> | 2012-06-24 06:46:37 (GMT) |
---|---|---|
committer | Gregory P. Smith <greg@krypto.org> | 2012-06-24 06:46:37 (GMT) |
commit | 8150492f11f17e2a09f7deb7af706536bc326c98 (patch) | |
tree | f65c071dd819f377bcea6bdc1507dd601f0b1ecf | |
parent | 7349eb27d73b1a64be472f7c555c3d5602d7e982 (diff) | |
download | cpython-8150492f11f17e2a09f7deb7af706536bc326c98.zip cpython-8150492f11f17e2a09f7deb7af706536bc326c98.tar.gz cpython-8150492f11f17e2a09f7deb7af706536bc326c98.tar.bz2 |
Speed up test_io by >2x by reducing the sleep time using setitimer instead of
alarm for the signal tests.
-rw-r--r-- | Lib/test/test_io.py | 10 |
1 files 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) |