cpython: 29e08a98281d (original) (raw)
Mercurial > cpython
changeset 70550:29e08a98281d
Issue #8407: test_signal doesn't check signal delivery order Tthe signal delivery order is not portable or reliable. [#8407]
Victor Stinner victor.stinner@haypocalc.com | |
---|---|
date | Tue, 31 May 2011 22:31:09 +0200 |
parents | 6fb2e5fb9082 |
children | 549cb21a8757 |
files | Lib/test/test_signal.py |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-)[+] [-] Lib/test/test_signal.py 11 |
line wrap: on
line diff
--- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -229,12 +229,13 @@ class WakeupSignalTests(unittest.TestCas def handler(self, signum, frame): pass
- def check_signum(self, *signals): data = os.read(self.read, len(signals)+1) raised = struct.unpack('%uB' % len(data), data)
if kw.get('unordered', False):[](#l1.11)
raised = set(raised)[](#l1.12)
signals = set(signals)[](#l1.13)
# We don't care of the signal delivery order (it's not portable or[](#l1.14)
# reliable)[](#l1.15)
raised = set(raised)[](#l1.16)
signals = set(signals)[](#l1.17) self.assertEqual(raised, signals)[](#l1.18)
def test_wakeup_fd_early(self): @@ -291,7 +292,7 @@ class WakeupSignalTests(unittest.TestCas # Unblocking the 2 signals calls the C signal handler twice signal.pthread_sigmask(signal.SIG_UNBLOCK, (signum1, signum2))
self.check_signum(signum1, signum2, unordered=True)[](#l1.25)
self.check_signum(signum1, signum2)[](#l1.26)