windows_test.py 739 B

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