Serhiy Storchaka <storchaka+cpyt...@gmail.com> added the comment:

Yes, it is a deliberate choice. It is difficult to explain why it was passed 
without it -- dues to a specific order of calling tearDown() and callbacks 
registered with addCleanup() in different base classes.

Using an event object would fix it too, but:

* Re-using an existing event object (like self.done) can have side effects in 
future.
* Introducing a new event object has a risk of name conflicts, because the 
hierarchy of classes is complicated, and same name can be reused by accident.
* time.sleep() is already used in other similar tests for timeouts. We only 
need to do a sleep longer then the timeout on the client side (0.01).

Given all this, I decided that adding time.sleep(1) was the simplest, the most 
obvious, and maybe the most resistant to future human errors way. If we want to 
use an event object here, we will need to re-consider using time.sleep() in 
other tests.

What comment do you want to add?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45212>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to