It turns out that there is an issue with how I was using retries in 
test_connect_timeout. I called _make_request(conn), then _put_conn, then 
tried to use it again and httplib barfed with CannotSendRequest. The 
tests still pass because the default number of connection retries is 3, 
so the first one failed with CannotSend request and the rest failed with 
ConnectTimeoutError and everything was fine again.

I initially was trying to track down this issue on a train with no 
network connection, and then on a network that was responding to 
requests to the TARPIT_HOST with ECONNREFUSED instead of just hanging 
indefinitely, and as part of the debugging I tried bumping some of the 
values to see if that resolved the issue with timeouts.

I believe I've reverted all of them now.

On 1/29/14, 9:28, Cory Benfield wrote:
>
> In test/with_dummyserver/test_socketlevel.py:
>
> > @@ -135,7 +137,7 @@ def socket_handler(listener):
> >              sock = listener.accept()[0]
> >              # First request.
> >              # Pause before responding so the first request times out.
> > -            time.sleep(0.002)
> > +            time.sleep(0.005)
>
> I'm picking this instance at random, but it applies all over this 
> diff: you changed a lot of these sleep/timeout values, but I'm not 
> sure why. Can you clarify? =)
>
> —
> Reply to this email directly or view it on GitHub 
> <https://github.com/shazow/urllib3/pull/326/files#r9258888>.
>