diff options
| author | Sergey Shepelev <temotor@gmail.com> | 2014-05-30 11:40:03 +0400 |
|---|---|---|
| committer | Sergey Shepelev <temotor@gmail.com> | 2014-07-10 14:11:57 +0400 |
| commit | 959d96b0d0cbd545bbfa0645189c4e41a09b5584 (patch) | |
| tree | e2838080f3fbf6d85c834a91b325a8d6bd358c41 /tests/thread_test.py | |
| parent | d2ec34fb1453e032682ddabd77ec17738a6a4e7f (diff) | |
| download | eventlet-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.py | 20 |
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 |
