Merge pull request #207 from spartanbits/pull_request_gevent_check

Pull request gevent check
This commit is contained in:
Lance Stout 2013-09-12 10:15:53 -07:00
commit 07284f380f
2 changed files with 19 additions and 4 deletions

View file

@ -18,7 +18,18 @@ from sleekxmpp.util.misc_ops import bytes, unicode, hashes, hash, \
# Standardize import of Queue class: # Standardize import of Queue class:
import sys import sys
if 'gevent' in sys.modules:
def _gevent_threads_enabled():
if not 'gevent' in sys.modules:
return False
try:
from gevent import thread as green_thread
thread = __import__('thread')
return thread.LockType is green_thread.LockType
except ImportError:
return False
if _gevent_threads_enabled():
import gevent.queue as queue import gevent.queue as queue
Queue = queue.JoinableQueue Queue = queue.JoinableQueue
else: else:

View file

@ -1,7 +1,11 @@
#!/usr/bin/env python #!/usr/bin/env python
import os
import sys import sys
if len(sys.argv)>1 and sys.argv[1].lower() == 'gevent':
from gevent import monkey
monkey.patch_all()
import os
import logging import logging
import unittest import unittest
import distutils.core import distutils.core
@ -57,7 +61,7 @@ class TestCommand(distutils.core.Command):
if __name__ == '__main__': if __name__ == '__main__':
result = run_tests() result = run_tests()
print("<tests %s ran='%s' errors='%s' fails='%s' success='%s' />" % ( print("<tests %s ran='%s' errors='%s' fails='%s' success='%s' gevent_enabled=%s/>" % (
"xmlns='http//andyet.net/protocol/tests'", "xmlns='http//andyet.net/protocol/tests'",
result.testsRun, len(result.errors), result.testsRun, len(result.errors),
len(result.failures), result.wasSuccessful())) len(result.failures), result.wasSuccessful(),'gevent' in sys.modules))