windows_test.py 674 B

123456789101112131415161718192021222324
  1. import functools
  2. import os
  3. import socket
  4. import unittest
  5. from tornado.platform.auto import set_close_exec
  6. skipIfNonWindows = unittest.skipIf(os.name != "nt", "non-windows platform")
  7. @skipIfNonWindows
  8. class WindowsTest(unittest.TestCase):
  9. def test_set_close_exec(self):
  10. # set_close_exec works with sockets.
  11. s = socket.socket()
  12. self.addCleanup(s.close)
  13. set_close_exec(s.fileno())
  14. # But it doesn't work with pipes.
  15. r, w = os.pipe()
  16. self.addCleanup(functools.partial(os.close, r))
  17. self.addCleanup(functools.partial(os.close, w))
  18. with self.assertRaises(WindowsError):
  19. set_close_exec(r)