A test of the select module that is actually reproduceable!
This commit is contained in:
parent
3176bb1df2
commit
792c94a320
|
@ -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
|
||||
import select
|
||||
import os
|
||||
|
||||
# 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():
|
||||
import select
|
||||
import os
|
||||
cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do date; sleep 3; done'
|
||||
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')
|
||||
for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
|
||||
print 'timeout =', tout
|
||||
rfd, wfd, xfd = select.select([p], [], [], tout)
|
||||
print rfd, wfd, xfd
|
||||
## print rfd, wfd, xfd
|
||||
if (rfd, wfd, xfd) == ([], [], []):
|
||||
continue
|
||||
if (rfd, wfd, xfd) == ([p], [], []):
|
||||
|
@ -21,3 +51,4 @@ def test():
|
|||
print 'Heh?'
|
||||
|
||||
test()
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ tests = ['test_grammar',
|
|||
'test_nis',
|
||||
'test_pwd',
|
||||
'test_rgbimg',
|
||||
'test_select',
|
||||
]
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in New Issue