Commit dfcec573 authored by Jason Madden's avatar Jason Madden

Fix test__all__.py

parent 659c1f65
...@@ -36,6 +36,9 @@ class _wrefsocket(_socket.socket): ...@@ -36,6 +36,9 @@ class _wrefsocket(_socket.socket):
__slots__ = ["__weakref__",] __slots__ = ["__weakref__",]
_closedsocket = _wrefsocket()
_closedsocket.close()
class socket(object): class socket(object):
def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None): def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None):
...@@ -198,7 +201,7 @@ class socket(object): ...@@ -198,7 +201,7 @@ class socket(object):
self.hub.cancel_wait(self._read_event, cancel_wait_ex) self.hub.cancel_wait(self._read_event, cancel_wait_ex)
self.hub.cancel_wait(self._write_event, cancel_wait_ex) self.hub.cancel_wait(self._write_event, cancel_wait_ex)
_ss.close(self._sock) _ss.close(self._sock)
self._sock = None self._sock = _closedsocket
def close(self): def close(self):
# This function should not reference any globals. See Python issue #808164. # This function should not reference any globals. See Python issue #808164.
......
...@@ -42,7 +42,17 @@ __imports__ = ['error', ...@@ -42,7 +42,17 @@ __imports__ = ['error',
'getdefaulttimeout', 'getdefaulttimeout',
'setdefaulttimeout', 'setdefaulttimeout',
# Windows: # Windows:
'errorTab'] 'errorTab',
# Python 3
'AddressFamily',
'SocketKind',
'CMSG_LEN',
'CMSG_SPACE',
'dup',
'if_indextoname',
'if_nameindex',
'if_nametoindex',
'sethostname']
import sys import sys
......
...@@ -22,6 +22,7 @@ __implements__ = ['SSLContext', ...@@ -22,6 +22,7 @@ __implements__ = ['SSLContext',
'wrap_socket', 'wrap_socket',
'get_server_certificate'] 'get_server_certificate']
__imports__ = []
for name in dir(__ssl__): for name in dir(__ssl__):
if name in __implements__: if name in __implements__:
...@@ -30,10 +31,11 @@ for name in dir(__ssl__): ...@@ -30,10 +31,11 @@ for name in dir(__ssl__):
continue continue
value = getattr(__ssl__, name) value = getattr(__ssl__, name)
globals()[name] = value globals()[name] = value
__imports__.append(name)
del name, value del name, value
__all__ = __implements__ + __imports__
orig_SSLContext = __ssl__.SSLContext orig_SSLContext = __ssl__.SSLContext
......
...@@ -56,6 +56,10 @@ __extra__ = ['MAXFD', ...@@ -56,6 +56,10 @@ __extra__ = ['MAXFD',
'INFINITE', 'INFINITE',
'TerminateProcess'] 'TerminateProcess']
if sys.version_info[:2] >= (3, 3):
__imports__ += ['DEVNULL',
'getstatusoutput',
'getoutput']
for name in __imports__[:]: for name in __imports__[:]:
try: try:
......
...@@ -23,6 +23,12 @@ if sys.version_info[0] <= 2: ...@@ -23,6 +23,12 @@ if sys.version_info[0] <= 2:
else: else:
import _thread as __thread__ import _thread as __thread__
__target__ = '_thread' __target__ = '_thread'
__imports__ += ['RLock',
'TIMEOUT_MAX',
'allocate',
'exit_thread',
'interrupt_main',
'start_new']
error = __thread__.error error = __thread__.error
from gevent.hub import getcurrent, GreenletExit from gevent.hub import getcurrent, GreenletExit
from gevent.greenlet import Greenlet from gevent.greenlet import Greenlet
...@@ -63,6 +69,12 @@ if hasattr(__thread__, 'stack_size'): ...@@ -63,6 +69,12 @@ if hasattr(__thread__, 'stack_size'):
else: else:
__implements__.remove('stack_size') __implements__.remove('stack_size')
for name in __imports__[:]:
try:
value = getattr(__thread__, name)
globals()[name] = value
except AttributeError:
__imports__.remove(name)
__all__ = __implements__ + __imports__ __all__ = __implements__ + __imports__
__all__.remove('_local') __all__.remove('_local')
......
...@@ -85,3 +85,9 @@ if sys.version_info[:2] >= (3, 4): ...@@ -85,3 +85,9 @@ if sys.version_info[:2] >= (3, 4):
raise NotImplementedError() raise NotImplementedError()
__implements__.append('Thread') __implements__.append('Thread')
if sys.version_info[:2] >= (3, 3):
__implements__.remove('_get_ident')
__implements__.append('get_ident')
get_ident = _get_ident
__implements__.remove('_sleep')
...@@ -11,7 +11,7 @@ MAPPING = {'gevent.local': '_threading_local', ...@@ -11,7 +11,7 @@ MAPPING = {'gevent.local': '_threading_local',
'gevent.socket': 'socket', 'gevent.socket': 'socket',
'gevent.select': 'select', 'gevent.select': 'select',
'gevent.ssl': 'ssl', 'gevent.ssl': 'ssl',
'gevent.thread': 'thread', 'gevent.thread': '_thread' if six.PY3 else 'thread',
'gevent.subprocess': 'subprocess', 'gevent.subprocess': 'subprocess',
'gevent.os': 'os', 'gevent.os': 'os',
'gevent.threading': 'threading'} 'gevent.threading': 'threading'}
......
from gevent import monkey from gevent import monkey
monkey.patch_all() monkey.patch_all()
import sys
import time import time
assert 'built-in' not in repr(time.sleep), repr(time.sleep) assert 'built-in' not in repr(time.sleep), repr(time.sleep)
...@@ -11,7 +12,8 @@ except ImportError: ...@@ -11,7 +12,8 @@ except ImportError:
import threading import threading
assert 'built-in' not in repr(thread.start_new_thread), repr(thread.start_new_thread) assert 'built-in' not in repr(thread.start_new_thread), repr(thread.start_new_thread)
assert 'built-in' not in repr(threading._start_new_thread), repr(threading._start_new_thread) assert 'built-in' not in repr(threading._start_new_thread), repr(threading._start_new_thread)
assert 'built-in' not in repr(threading._sleep), repr(threading._sleep) if sys.version_info[0] == 2:
assert 'built-in' not in repr(threading._sleep), repr(threading._sleep)
import socket import socket
from gevent import socket as gevent_socket from gevent import socket as gevent_socket
......
import threading import sys
import gevent.monkey if sys.version_info[0] == 2:
gevent.monkey.patch_all() import threading
import gevent import gevent.monkey
gevent.monkey.patch_all()
import gevent
assert threading._sleep is gevent.sleep, threading._sleep
assert threading._sleep is gevent.sleep, threading._sleep
...@@ -81,7 +81,6 @@ if PYPY: ...@@ -81,7 +81,6 @@ if PYPY:
if PY3: if PY3:
# No idea / TODO # No idea / TODO
FAILING_TESTS += ''' FAILING_TESTS += '''
test__all__.py
test__pywsgi.py test__pywsgi.py
test__makefile_ref.py test__makefile_ref.py
FLAKY test__socket_dns.py FLAKY test__socket_dns.py
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment