summaryrefslogtreecommitdiffstats
path: root/Lib/dos_8x3/test_sel.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/dos_8x3/test_sel.py')
-rwxr-xr-xLib/dos_8x3/test_sel.py40
1 files changed, 36 insertions, 4 deletions
diff --git a/Lib/dos_8x3/test_sel.py b/Lib/dos_8x3/test_sel.py
index f185308..f7f20f3 100755
--- a/Lib/dos_8x3/test_sel.py
+++ b/Lib/dos_8x3/test_sel.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], [], []):
@@ -19,5 +49,7 @@ def test():
break
continue
print 'Heh?'
+ p.close()
test()
+