1 from test
import test_support
7 class SelectTestCase(unittest
.TestCase
):
16 def test_error_conditions(self
):
17 self
.assertRaises(TypeError, select
.select
, 1, 2, 3)
18 self
.assertRaises(TypeError, select
.select
, [self
.Nope()], [], [])
19 self
.assertRaises(TypeError, select
.select
, [self
.Almost()], [], [])
20 self
.assertRaises(TypeError, select
.select
, [], [], [], "not a number")
22 def test_select(self
):
23 if sys
.platform
[:3] in ('win', 'mac', 'os2', 'riscos'):
24 if test_support
.verbose
:
25 print "Can't test select easily on", sys
.platform
27 cmd
= 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
28 p
= os
.popen(cmd
, 'r')
29 for tout
in (0, 1, 2, 4, 8, 16) + (None,)*10:
30 if test_support
.verbose
:
31 print 'timeout =', tout
32 rfd
, wfd
, xfd
= select
.select([p
], [], [], tout
)
33 if (rfd
, wfd
, xfd
) == ([], [], []):
35 if (rfd
, wfd
, xfd
) == ([p
], [], []):
37 if test_support
.verbose
:
40 if test_support
.verbose
:
44 self
.fail('Unexpected return values from select():', rfd
, wfd
, xfd
)
49 test_support
.run_unittest(SelectTestCase
)
50 test_support
.reap_children()
52 if __name__
== "__main__":