mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
A test of the select module that is actually reproduceable!
This commit is contained in:
parent
3176bb1df2
commit
792c94a320
3 changed files with 61 additions and 4 deletions
25
Lib/test/output/test_select
Normal file
25
Lib/test/output/test_select
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
test_select
|
||||||
|
timeout = 0
|
||||||
|
timeout = 1
|
||||||
|
'testing...\012'
|
||||||
|
timeout = 2
|
||||||
|
'testing...\012'
|
||||||
|
timeout = 4
|
||||||
|
'testing...\012'
|
||||||
|
timeout = 8
|
||||||
|
'testing...\012'
|
||||||
|
timeout = 16
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
'testing...\012'
|
||||||
|
timeout = None
|
||||||
|
''
|
||||||
|
EOF
|
|
@ -1,14 +1,44 @@
|
||||||
# Testing select module
|
# Testing select module
|
||||||
|
|
||||||
def test():
|
|
||||||
import select
|
import select
|
||||||
import os
|
import os
|
||||||
cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do date; sleep 3; done'
|
|
||||||
|
# test some known error conditions
|
||||||
|
try:
|
||||||
|
rfd, wfd, xfd = select.select(1, 2, 3)
|
||||||
|
except TypeError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print 'expected TypeError exception not raised'
|
||||||
|
|
||||||
|
class Nope:
|
||||||
|
pass
|
||||||
|
|
||||||
|
class Almost:
|
||||||
|
def fileno(self):
|
||||||
|
return 'fileno'
|
||||||
|
|
||||||
|
try:
|
||||||
|
rfd, wfd, xfd = select.select([Nope()], [], [])
|
||||||
|
except TypeError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print 'expected TypeError exception not raised'
|
||||||
|
|
||||||
|
try:
|
||||||
|
rfd, wfd, xfd = select.select([Almost()], [], [])
|
||||||
|
except TypeError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
print 'expected TypeError exception not raised'
|
||||||
|
|
||||||
|
|
||||||
|
def test():
|
||||||
|
cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
|
||||||
p = os.popen(cmd, 'r')
|
p = os.popen(cmd, 'r')
|
||||||
for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
|
for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
|
||||||
print 'timeout =', tout
|
print 'timeout =', tout
|
||||||
rfd, wfd, xfd = select.select([p], [], [], tout)
|
rfd, wfd, xfd = select.select([p], [], [], tout)
|
||||||
print rfd, wfd, xfd
|
## print rfd, wfd, xfd
|
||||||
if (rfd, wfd, xfd) == ([], [], []):
|
if (rfd, wfd, xfd) == ([], [], []):
|
||||||
continue
|
continue
|
||||||
if (rfd, wfd, xfd) == ([p], [], []):
|
if (rfd, wfd, xfd) == ([p], [], []):
|
||||||
|
@ -21,3 +51,4 @@ def test():
|
||||||
print 'Heh?'
|
print 'Heh?'
|
||||||
|
|
||||||
test()
|
test()
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ tests = ['test_grammar',
|
||||||
'test_nis',
|
'test_nis',
|
||||||
'test_pwd',
|
'test_pwd',
|
||||||
'test_rgbimg',
|
'test_rgbimg',
|
||||||
|
'test_select',
|
||||||
]
|
]
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue