Totally. Lets look at the sequence of events in L58-L66. The client uses exponential backoff and reconnects after 1,2 and 4 second sleeps. That's all normal. However, when it establishes the connection, it sleeps another 4 seconds per tcpros_base.py#L733. That looks like a bug. As a result the client doesn't receive the message until T+11 and the assert in L83 would be failing until then. The client has connected after L76, but it's sleeping.

This captures the exact behavior of the current rospy client, which is quite not ideal. As this isn't an issue with the multipublisher (system under test), I think it's ok to have the test like that until the tcpros_base.py is fixed. The test proves that you could deregister the publisher and start publishing again. 

It'll take me some time to get rospy tests running locally under hydro and indigo, add a test for rospy there and have it reviewed and merged upstream.