summaryrefslogtreecommitdiff
path: root/tests/thread_test.py
diff options
context:
space:
mode:
authorSergey Shepelev <temotor@gmail.com>2014-05-30 11:40:03 +0400
committerSergey Shepelev <temotor@gmail.com>2014-07-10 14:11:57 +0400
commit959d96b0d0cbd545bbfa0645189c4e41a09b5584 (patch)
treee2838080f3fbf6d85c834a91b325a8d6bd358c41 /tests/thread_test.py
parentd2ec34fb1453e032682ddabd77ec17738a6a4e7f (diff)
downloadeventlet-gh-95-thread-join-block.tar.gz
WIP on issue https://github.com/eventlet/eventlet/issues/95gh-95-thread-join-block
Diffstat (limited to 'tests/thread_test.py')
-rw-r--r--tests/thread_test.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/tests/thread_test.py b/tests/thread_test.py
index e54f022..15fab2e 100644
--- a/tests/thread_test.py
+++ b/tests/thread_test.py
@@ -1,13 +1,12 @@
import gc
import weakref
-from eventlet.green import thread
-from eventlet import greenthread
-from eventlet import event
import eventlet
from eventlet import corolocal
+from eventlet import event
+from eventlet import greenthread
+from eventlet.green import thread
from eventlet.support import six
-
from tests import LimitedTestCase, skipped
@@ -29,11 +28,13 @@ class Locals(LimitedTestCase):
tls = thread._local()
g_ids = []
evt = event.Event()
+
def setter(tls, v):
g_id = id(greenthread.getcurrent())
g_ids.append(g_id)
tls.value = v
evt.wait()
+
thread.start_new_thread(setter, args=(tls, 1))
thread.start_new_thread(setter, args=(tls, 2))
eventlet.sleep()
@@ -48,6 +49,7 @@ class Locals(LimitedTestCase):
def test_assignment(self):
my_local = corolocal.local()
my_local.a = 1
+
def do_something():
my_local.b = 2
self.assertEqual(my_local.b, 2)
@@ -56,23 +58,25 @@ class Locals(LimitedTestCase):
self.fail()
except AttributeError:
pass
+
eventlet.spawn(do_something).wait()
self.assertEqual(my_local.a, 1)
def test_calls_init(self):
init_args = []
+
class Init(corolocal.local):
def __init__(self, *args):
init_args.append((args, eventlet.getcurrent()))
- my_local = Init(1,2,3)
- self.assertEqual(init_args[0][0], (1,2,3))
+ my_local = Init(1, 2, 3)
+ self.assertEqual(init_args[0][0], (1, 2, 3))
self.assertEqual(init_args[0][1], eventlet.getcurrent())
def do_something():
my_local.foo = 'bar'
self.assertEqual(len(init_args), 2, init_args)
- self.assertEqual(init_args[1][0], (1,2,3))
+ self.assertEqual(init_args[1][0], (1, 2, 3))
self.assertEqual(init_args[1][1], eventlet.getcurrent())
eventlet.spawn(do_something).wait()
@@ -98,8 +102,10 @@ class Locals(LimitedTestCase):
def test_no_leaking(self):
refs = weakref.WeakKeyDictionary()
my_local = corolocal.local()
+
class X(object):
pass
+
def do_something(i):
o = X()
refs[o] = True