summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_select.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>1996-12-11 23:58:46 (GMT)
committerBarry Warsaw <barry@python.org>1996-12-11 23:58:46 (GMT)
commit792c94a3209f57f7df5db731e9f8f38c74fb5a57 (patch)
treefd60fb2c5cb70e96130d73c550dcb6a539e5636b /Lib/test/test_select.py
parent3176bb1df2a81f2e0afb32eda47cf9c416fa7557 (diff)
downloadcpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.zip
cpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.tar.gz
cpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.tar.bz2
A test of the select module that is actually reproduceable!
Diffstat (limited to 'Lib/test/test_select.py')
-rw-r--r--Lib/test/test_select.py39
1 files changed, 35 insertions, 4 deletions
diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index f185308..5834575 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -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()
+