Deferring 51 tickets from 0.4.0.x-final. Tagging them with 040-deferred-20190220 for visibility. These are the tickets that did not get 040-must, 040-can, or tor-ci.
The change would be to reorder the phases so the proxy phases are "inside" the PT phases. Last I checked, tor doesn't know about whether or not the PT client itself uses a proxy, so the PT would have to explicitly tell tor.
We can do the reordering now, or wait until we have a PT client interface that can report intermediate progress when using a PT tunneled through a proxy. ahf, which do you think is better?
There might be reasons to have these phases in any number of slightly different orderings, including the current ordering. I would have to refresh my memory about the current behavior to be sure.
The stuff to explicitly note whether we're using a PT looks good. I haven't done manual testing of it yet.
I think when we talked about this on IRC we agreed to have separate new phases for "PT client is connecting/connected to its proxy"?
(Summary -- control-spec.txt already is overly specific and refers to the TCP connection to the PT proxy. So my proposed reordering turns out to be wrong. I think having more specific new bootstrap phases also makes troubleshooting easier.)
For the reviewer: Should we change the tests in test_controller_events
to instead of storing a single string each time we have a bootstrap
event, that we instead append to a list and then check if the list is
correct after all the state transitions have happened?
Yes, I think there might places in the unit tests where that would be helpful. Or maybe make the entire "make a state change and assert an expected bootstrap message" a macro?