Skip to content

Commit

Permalink
chore: black .
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Nov 22, 2024
1 parent af46d83 commit 1e961ab
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 10 deletions.
13 changes: 10 additions & 3 deletions tests/primitives/test_semaphore.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ async def test_semaphore_cached_property(i: int):
# We increased the threshold from 1.05 to 1.4 to help tests pass on slow github runners
assert i == 1 or duration < 1.4


@pytest.mark.asyncio_cooperative
async def test_semaphore_acquire_release():
semaphore = Semaphore(2)
Expand All @@ -60,6 +61,7 @@ async def test_semaphore_acquire_release():
semaphore.release()
assert semaphore._value == 2


@pytest.mark.asyncio_cooperative
async def test_semaphore_blocking():
semaphore = Semaphore(1)
Expand All @@ -76,6 +78,7 @@ async def task():
semaphore.release()
await task1


@pytest.mark.asyncio_cooperative
async def test_semaphore_multiple_tasks():
semaphore = Semaphore(2)
Expand All @@ -91,20 +94,22 @@ async def task(index):
await asyncio.gather(*tasks)
assert results == [0, 1, 2, 3]


@pytest.mark.asyncio_cooperative
async def test_semaphore_with_zero_initial_value():
semaphore = Semaphore(0)

async def task():
await semaphore.acquire()
return 'done'
return "done"

task1 = asyncio.create_task(task())
await asyncio.sleep(0.1)
assert not task1.done()
semaphore.release()
result = await task1
assert result == 'done'
assert result == "done"


def test_semaphore_negative_initial_value():
with pytest.raises(ValueError):
Expand All @@ -113,6 +118,8 @@ def test_semaphore_negative_initial_value():
Semaphore(None)
with pytest.raises(TypeError):
Semaphore("None")


"""
@pytest.mark.asyncio_cooperative
async def test_semaphore_releasing_without_acquiring():
Expand Down Expand Up @@ -313,4 +320,4 @@ async def task():
task1.cancel()
await asyncio.sleep(0.1)
assert semaphore._value == 1
"""
"""
30 changes: 23 additions & 7 deletions tests/test_counter.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,38 @@

@pytest.mark.asyncio_cooperative
async def test_counter_lock():
counter = CounterLock(name='test')
counter = CounterLock(name="test")
assert await counter.wait_for(0)
assert counter._name == "test"


@pytest.mark.asyncio_cooperative
async def test_counterlock_initialization():
counter = CounterLock(start_value=5)
assert counter.value == 5


@pytest.mark.asyncio_cooperative
async def test_counterlock_set():
counter = CounterLock(start_value=0)
counter.set(10)
assert counter.value == 10


@pytest.mark.asyncio_cooperative
async def test_counterlock_wait_for():
counter = CounterLock(start_value=0)

async def waiter():
await counter.wait_for(5)
return 'done'
return "done"

waiter_task = asyncio.create_task(waiter())
await asyncio.sleep(0.1)
counter.set(5)
result = await waiter_task
assert result == 'done'
assert result == "done"


@pytest.mark.asyncio_cooperative
async def test_counterlock_concurrent_waiters():
Expand All @@ -49,24 +53,28 @@ async def waiter(index):
await asyncio.gather(*tasks)
assert results == [0, 1, 2]


@pytest.mark.asyncio_cooperative
async def test_counterlock_increment_only():
counter = CounterLock(start_value=5)
with pytest.raises(ValueError):
counter.set(3)


@pytest.mark.asyncio_cooperative
async def test_counterlock_large_value():
counter = CounterLock(start_value=0)
large_value = 10**6
counter.set(large_value)
assert counter.value == large_value


@pytest.mark.asyncio_cooperative
async def test_counterlock_zero_value():
counter = CounterLock(start_value=0)
assert counter.value == 0


@pytest.mark.asyncio_cooperative
async def test_counterlock_exception_handling():
counter = CounterLock(start_value=0)
Expand All @@ -82,6 +90,7 @@ async def waiter():
result = await waiter()
assert result == "Intentional error"


@pytest.mark.asyncio_cooperative
async def test_simultaneous_set_and_wait():
counter = CounterLock(start_value=0)
Expand All @@ -96,17 +105,20 @@ async def waiter(index):
await asyncio.gather(*tasks)
assert results == [0, 1, 2, 3, 4]


@pytest.mark.asyncio_cooperative
async def test_reentrant_set():
counter = CounterLock(start_value=0)
counter.set(5)
counter.set(10) # Reentrant set
assert counter.value == 10


def test_counterlock_negative_start_value():
with pytest.raises(ValueError):
CounterLock(start_value=-1)


@pytest.mark.asyncio_cooperative
async def test_immediate_set_and_wait():
counter = CounterLock(start_value=5)
Expand All @@ -117,19 +129,21 @@ async def waiter():
result = await waiter()
assert result is True


@pytest.mark.asyncio_cooperative
async def test_delayed_set():
counter = CounterLock(start_value=0)

async def waiter():
await counter.wait_for(5)
return 'done'
return "done"

waiter_task = asyncio.create_task(waiter())
await asyncio.sleep(0.5) # Delay before setting the counter
counter.set(5)
result = await waiter_task
assert result == 'done'
assert result == "done"


@pytest.mark.asyncio_cooperative
async def test_multiple_sets():
Expand All @@ -146,6 +160,7 @@ async def waiter(index):
await asyncio.gather(*tasks)
assert results == [0, 1, 2]


@pytest.mark.asyncio_cooperative
async def test_custom_error_handling():
counter = CounterLock(start_value=0)
Expand All @@ -161,16 +176,17 @@ async def waiter():
result = await waiter()
assert result == "Custom error"


@pytest.mark.asyncio_cooperative
async def test_external_interruptions():
counter = CounterLock(start_value=0)

async def waiter():
await counter.wait_for(5)
return 'done'
return "done"

waiter_task = asyncio.create_task(waiter())
await asyncio.sleep(0.1)
waiter_task.cancel()
await asyncio.sleep(0.1)
assert counter.value == 0
assert counter.value == 0

0 comments on commit 1e961ab

Please sign in to comment.