MessageRouteAbortTest sends four 10-byte messages that get delivered to the client. In the meantime the test has moved on to streaming a 100,000 byte message to be aborted. When the first 10-byte message arrives it calls send() which streams another 100,000 byte message. on_message gets called a couple of times before on_sendable gets back to aborting the current delivery. Now all the streamed message content to be aborted is in one delivery and the test fails.
The fix is to modify send() not to blindly send the next programmed message. If it observes that a message-to-be-aborted is in flight then it simply exits.