mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-03 18:03:37 +00:00
84fb3e5df9
Conflicts: CHANGES.md
52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
from __future__ import absolute_import, division, print_function, with_statement
|
|
|
|
import os
|
|
import socket
|
|
import sys
|
|
|
|
from tornado.testing import bind_unused_port
|
|
|
|
# Encapsulate the choice of unittest or unittest2 here.
|
|
# To be used as 'from tornado.test.util import unittest'.
|
|
if sys.version_info < (2, 7):
|
|
# In py26, we must always use unittest2.
|
|
import unittest2 as unittest
|
|
else:
|
|
# Otherwise, use whichever version of unittest was imported in
|
|
# tornado.testing.
|
|
from tornado.testing import unittest
|
|
|
|
skipIfNonUnix = unittest.skipIf(os.name != 'posix' or sys.platform == 'cygwin',
|
|
"non-unix platform")
|
|
|
|
# travis-ci.org runs our tests in an overworked virtual machine, which makes
|
|
# timing-related tests unreliable.
|
|
skipOnTravis = unittest.skipIf('TRAVIS' in os.environ,
|
|
'timing tests unreliable on travis')
|
|
|
|
# Set the environment variable NO_NETWORK=1 to disable any tests that
|
|
# depend on an external network.
|
|
skipIfNoNetwork = unittest.skipIf('NO_NETWORK' in os.environ,
|
|
'network access disabled')
|
|
|
|
skipIfNoIPv6 = unittest.skipIf(not socket.has_ipv6, 'ipv6 support not present')
|
|
|
|
|
|
def refusing_port():
|
|
"""Returns a local port number that will refuse all connections.
|
|
|
|
Return value is (cleanup_func, port); the cleanup function
|
|
must be called to free the port to be reused.
|
|
"""
|
|
# On travis-ci, port numbers are reassigned frequently. To avoid
|
|
# collisions with other tests, we use an open client-side socket's
|
|
# ephemeral port number to ensure that nothing can listen on that
|
|
# port.
|
|
server_socket, port = bind_unused_port()
|
|
server_socket.setblocking(1)
|
|
client_socket = socket.socket()
|
|
client_socket.connect(("127.0.0.1", port))
|
|
conn, client_addr = server_socket.accept()
|
|
conn.close()
|
|
server_socket.close()
|
|
return (client_socket.close, client_addr[1])
|