15
0
Files
python-dogpile.cache/dogpile-threading.patch

41 lines
1.3 KiB
Diff

From 15fe0d5285b96fcf2472d2c2cdd056b9f91a1290 Mon Sep 17 00:00:00 2001
From: Mike Bayer <mike_mp@zzzcomputing.com>
Date: Tue, 4 Jul 2017 10:21:40 -0400
Subject: [PATCH] - ensure all threads in thread local test stay up until a
flag is set. fixes #116
Change-Id: Ic8f781d31ac35372f4fec06b9f98f65a750e6c2e
---
tests/cache/test_memcached_backend.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tests/cache/test_memcached_backend.py b/tests/cache/test_memcached_backend.py
index 9b83e7d..3793d27 100644
--- a/tests/cache/test_memcached_backend.py
+++ b/tests/cache/test_memcached_backend.py
@@ -286,14 +286,18 @@ class LocalThreadTest(TestCase):
backend = MockGenericMemcachedBackend(arguments={'url': 'foo'})
canary = []
- def f():
+ flag = [False]
+
+ def f(delay):
backend._clients.memcached
canary.append(MockClient.number_of_clients())
- time.sleep(.05)
+ while not flag[0]:
+ time.sleep(.02)
- threads = [Thread(target=f) for i in range(count)]
+ threads = [Thread(target=f, args=(count - i, )) for i in range(count)]
for t in threads:
t.start()
+ flag[0] = True
for t in threads:
t.join()
eq_(canary, [i + 1 for i in range(count)])
--
2.7.4.1.g5468f9e