Skip to content

Commit 2e77be3

Browse files
committed
Implement Barrier
1 parent 3769b5a commit 2e77be3

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

tests/nexus/test_worker.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from __future__ import annotations
22

33
import asyncio
4-
import sys
54
import uuid
65
from datetime import timedelta
76
from typing import Any
@@ -53,10 +52,18 @@ async def test_max_concurrent_nexus_tasks(
5352
if env.supports_time_skipping:
5453
pytest.skip("Nexus tests don't work with Javas test server")
5554

56-
if sys.version_info < (3, 11):
57-
pytest.skip("Test requires Python 3.11+")
55+
class Barrier:
56+
def __init__(self, size: int) -> None:
57+
self.size = size
58+
self.event = asyncio.Event()
5859

59-
barrier = asyncio.Barrier(num_nexus_operations) # type: ignore
60+
async def wait(self) -> None:
61+
if len(self.event._waiters) >= self.size - 1:
62+
self.event.set()
63+
else:
64+
await self.event.wait()
65+
66+
barrier = Barrier(num_nexus_operations)
6067

6168
@nexusrpc.handler.service_handler
6269
class MaxConcurrentTestService:

0 commit comments

Comments
 (0)