title: Assert Timeout (in pytest)
body: <p>I've created a MultiLock and RMultiLock class (I've only found two Python libs with these, and they're intermixed with other things.) In any case, MultiLock is not reentrant, so it should block if a second acquire attempt is made with <code>blocking=True</code> in all cases, even from the same thread.</p>
  
  <p>How do I test this? I'd be satisfied with a unit test that could do this with a positive <code>timeout</code>.</p>
  
  <p>Is there a pytest <code>assert</code> that can test if a certain amount of time has elapsed? If not, how would I go about writing one? Would I need to do multithreading? Does the built-in <code>threading</code> module implement scheduling in a fair enough way that I can guarantee that an <code>acquire()</code> being blocked yields? If I were to use asyncio or gevent for this, would it yield?</p>