Skip to content

Commit 6dec44e

Browse files
committed
Add specs for Semaphore #acquire/#try_acquire with zero permits
1 parent da45461 commit 6dec44e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

spec/concurrent/atomic/semaphore_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@
2727
expect(semaphore.available_permits).to eq 0
2828
end
2929
end
30+
31+
context 'when acquiring zero permits' do
32+
it do
33+
expect {
34+
semaphore.acquire(0)
35+
}.to raise_error(ArgumentError)
36+
end
37+
end
3038
end
3139

3240
describe '#drain_permits' do
@@ -54,6 +62,14 @@
5462
result = semaphore.try_acquire(20)
5563
expect(result).to be_falsey
5664
end
65+
66+
context 'when trying to acquire zero permits' do
67+
it do
68+
expect {
69+
semaphore.try_acquire(0)
70+
}.to raise_error(ArgumentError)
71+
end
72+
end
5773
end
5874

5975
context 'with timeout' do

0 commit comments

Comments
 (0)