You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
5 years ago
|
from __future__ import print_function
|
||
|
import socket
|
||
|
import sys
|
||
|
if sys.argv[1] == 'patched':
|
||
|
print('gevent' in repr(socket.socket))
|
||
|
else:
|
||
|
assert sys.argv[1] == 'stdlib'
|
||
|
print('gevent' not in repr(socket.socket))
|
||
|
print(__file__)
|
||
|
|
||
|
if sys.version_info[:2] == (2, 7):
|
||
|
# Prior to gevent 1.3, 'python -m gevent.monkey' guaranteed this to be
|
||
|
# None for all python versions.
|
||
|
print(__package__ is None)
|
||
|
else:
|
||
|
if sys.argv[1] == 'patched':
|
||
|
# __package__ is handled differently, for some reason, and
|
||
|
# runpy doesn't let us override it. When we call it, it
|
||
|
# becomes ''. This appears to be against the documentation for
|
||
|
# runpy, which says specifically "If the supplied path
|
||
|
# directly references a script file (whether as source or as
|
||
|
# precompiled byte code), then __file__ will be set to the
|
||
|
# supplied path, and __spec__, __cached__, __loader__ and
|
||
|
# __package__ will all be set to None."
|
||
|
print(__package__ == '')
|
||
|
else:
|
||
|
# but the interpreter sets it to None
|
||
|
print(__package__ is None)
|