MCPcopy Index your code
hub / github.com/python/cpython / test_poll_unit_tests

Method test_poll_unit_tests

Lib/test/test_poll.py:82–121  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

80 self.assertEqual(bufs, [MSG] * NUM_PIPES)
81
82 def test_poll_unit_tests(self):
83 # returns NVAL for invalid file descriptor
84 FD, w = os.pipe()
85 os.close(FD)
86 os.close(w)
87 p = select.poll()
88 p.register(FD)
89 r = p.poll()
90 self.assertEqual(r[0], (FD, select.POLLNVAL))
91
92 with open(TESTFN, 'w') as f:
93 fd = f.fileno()
94 p = select.poll()
95 p.register(f)
96 r = p.poll()
97 self.assertEqual(r[0][0], fd)
98 r = p.poll()
99 self.assertEqual(r[0], (fd, select.POLLNVAL))
100 os.unlink(TESTFN)
101
102 # type error for invalid arguments
103 p = select.poll()
104 self.assertRaises(TypeError, p.register, p)
105 self.assertRaises(TypeError, p.unregister, p)
106
107 # can't unregister non-existent object
108 p = select.poll()
109 self.assertRaises(KeyError, p.unregister, 3)
110
111 # Test error cases
112 pollster = select.poll()
113 class Nope:
114 pass
115
116 class Almost:
117 def fileno(self):
118 return 'fileno'
119
120 self.assertRaises(TypeError, pollster.register, Nope(), 0)
121 self.assertRaises(TypeError, pollster.register, Almost(), 0)
122
123 # Another test case for poll(). This is copied from the test case for
124 # select(), modified to use poll() instead.

Callers

nothing calls this directly

Calls 11

NopeClass · 0.70
AlmostClass · 0.70
openFunction · 0.50
pipeMethod · 0.45
closeMethod · 0.45
pollMethod · 0.45
registerMethod · 0.45
assertEqualMethod · 0.45
filenoMethod · 0.45
unlinkMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected