MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_eventfd_initval

Method test_eventfd_initval

Lib/test/test_os.py:4216–4245  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

4214@support.requires_linux_version(2, 6, 30)
4215class EventfdTests(unittest.TestCase):
4216 def test_eventfd_initval(self):
4217 def pack(value):
4218 """Pack as native uint64_t
4219 """
4220 return struct.pack("@Q", value)
4221 size = 8 # read/write 8 bytes
4222 initval = 42
4223 fd = os.eventfd(initval)
4224 self.assertNotEqual(fd, -1)
4225 self.addCleanup(os.close, fd)
4226 self.assertFalse(os.get_inheritable(fd))
4227
4228 # test with raw read/write
4229 res = os.read(fd, size)
4230 self.assertEqual(res, pack(initval))
4231
4232 os.write(fd, pack(23))
4233 res = os.read(fd, size)
4234 self.assertEqual(res, pack(23))
4235
4236 os.write(fd, pack(40))
4237 os.write(fd, pack(2))
4238 res = os.read(fd, size)
4239 self.assertEqual(res, pack(42))
4240
4241 # test with eventfd_read/eventfd_write
4242 os.eventfd_write(fd, 20)
4243 os.eventfd_write(fd, 3)
4244 res = os.eventfd_read(fd)
4245 self.assertEqual(res, 23)
4246
4247 def test_eventfd_semaphore(self):
4248 initval = 2

Callers

nothing calls this directly

Calls 8

assertNotEqualMethod · 0.80
addCleanupMethod · 0.80
assertFalseMethod · 0.80
packFunction · 0.70
get_inheritableMethod · 0.45
readMethod · 0.45
assertEqualMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected