Skip to content

Commit 6e8615f

Browse files
committed
use barriers in test
1 parent 78d3595 commit 6e8615f

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import unittest
2-
from threading import Thread
2+
from threading import Barrier, Thread
33
from test.test_json import CTest
44
from test.support import threading_helper
55

66

77
def encode_json_helper(json, worker, data, number_of_threads, number_of_json_encodings=100):
88
worker_threads = []
9+
barrier = Barrier(number_of_threads)
910
for index in range(number_of_threads):
10-
worker_threads.append(Thread(target=worker, args=[data, index]))
11+
worker_threads.append(Thread(target=worker, args=[barrier, data, index]))
1112
for t in worker_threads:
1213
t.start()
1314
for ii in range(number_of_json_encodings):
@@ -33,7 +34,8 @@ class TestJsonEncoding(CTest):
3334

3435
def test_json_mutating_list(self):
3536

36-
def worker(data, index):
37+
def worker(barrier, data, index):
38+
barrier.wait()
3739
while data:
3840
for d in data:
3941
if len(d) > 5:
@@ -46,7 +48,8 @@ def worker(data, index):
4648

4749
def test_json_mutating_dict(self):
4850

49-
def worker(data, index):
51+
def worker(barrier, data, index):
52+
barrier.wait()
5053
while data:
5154
for d in data:
5255
if len(d) > 5:
@@ -60,7 +63,8 @@ def worker(data, index):
6063

6164
def test_json_mutating_mapping(self):
6265

63-
def worker(data, index):
66+
def worker(barrier, data, index):
67+
barrier.wait()
6468
while data:
6569
for d in data:
6670
if len(d.mapping) > 3:

0 commit comments

Comments
 (0)