
Ticket #3690 was filed as "serial ports do not call connectionLost on their protocol", but along the way became a ticket for testing *all* of the serial port code. Since the latter is much harder, it got stuck in addressing review comments, and the simpler original problem was not fixed. In this case, the perfect was the enemy of the good. To prevent this sort of thing, if you end up enlarging the scope of a ticket dramatically, please open a new ticket and divide the work up. Splitting up large amounts of work into smaller units is good even if the scope of the ticket hasn't changed. Smaller units of work are easier on everyone, developers and reviewers; please look for opportunities to break up tickets into multiple smaller tickets if that will help get code merged.