summaryrefslogtreecommitdiffstats
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
parent3176bb1df2a81f2e0afb32eda47cf9c416fa7557 (diff)
downloadcpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.zip
cpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.tar.gz
cpython-792c94a3209f57f7df5db731e9f8f38c74fb5a57.tar.bz2
A test of the select module that is actually reproduceable!
-rw-r--r--Lib/test/output/test_select25
-rw-r--r--Lib/test/test_select.py39
-rw-r--r--Lib/test/testall.py1
3 files changed, 61 insertions, 4 deletions
diff --git a/Lib/test/output/test_select b/Lib/test/output/test_select
new file mode 100644
index 0000000..d731e0a
--- /dev/null
+++ b/Lib/test/output/test_select
@@ -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
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()
+
diff --git a/Lib/test/testall.py b/Lib/test/testall.py
index cca7dbd..f1a7cd6 100644
--- a/Lib/test/testall.py
+++ b/Lib/test/testall.py
@@ -19,6 +19,7 @@ tests = ['test_grammar',
'test_nis',
'test_pwd',
'test_rgbimg',
+ 'test_select',
]
if __name__ == '__main__':