]> granicus.if.org Git - python/commitdiff
A test of the select module that is actually reproduceable!
authorBarry Warsaw <barry@python.org>
Wed, 11 Dec 1996 23:58:46 +0000 (23:58 +0000)
committerBarry Warsaw <barry@python.org>
Wed, 11 Dec 1996 23:58:46 +0000 (23:58 +0000)
Lib/test/output/test_select [new file with mode: 0644]
Lib/test/test_select.py
Lib/test/testall.py

diff --git a/Lib/test/output/test_select b/Lib/test/output/test_select
new file mode 100644 (file)
index 0000000..d731e0a
--- /dev/null
@@ -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
index f1853087f295d78072cbc377a91da5b573f51dbe..5834575c7df5006bdeefdb2f7db02f550cb2180c 100644 (file)
@@ -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()
+
index cca7dbdd68fa7d8bcf51735c576da07557ceb5bc..f1a7cd6e5803751c7947a4fbada4786c4b801ba8 100644 (file)
@@ -19,6 +19,7 @@ tests = ['test_grammar',
         'test_nis',
         'test_pwd',
         'test_rgbimg',
+        'test_select',
         ]
 
 if __name__ == '__main__':