/greentest/test__semaphore.py
https://code.google.com/p/gevent/ · Python · 26 lines · 19 code · 6 blank · 1 comment · 1 complexity · 084d39134deac92e42dc4626553a7415 MD5 · raw file
- import greentest
- import gevent
- from gevent.coros import Semaphore
- class TestTimeoutAcquire(greentest.TestCase):
- # issue 39
- def test_acquire_returns_false_after_timeout(self):
- s = Semaphore(value=0)
- result = s.acquire(timeout=0.01)
- assert result is False, repr(result)
- def test_release_twice(self):
- s = Semaphore()
- result = []
- s.rawlink(lambda s: result.append('a'))
- s.release()
- s.rawlink(lambda s: result.append('b'))
- s.release()
- gevent.sleep(0.001)
- self.assertEqual(result, ['a', 'b'])
- if __name__ == '__main__':
- greentest.main()