Fix three unit tests which have been flakily failing for the last several weeks:
[x] //test/load-generator/acme: TestNew/unreachable_directory_URL
directory_test.go:182: "Get \"http://localhost:1987/\": dial tcp [::1]:1987: connect: connection refused" != "Get \"http://localhost:1987/\": dial tcp 127.0.0.1:1987: connect: connection refused"
Fixed by changing the error checking code to care only about the underlying "connection refused" message, and not the IP address from which it was receieved.
[x] //va: TestHTTPDialTimeout
http_test.go:1394: HTTP returned before 250ms (3.860444ms) with "198.51.100.1: Get \"http://unroutable.invalid/.well-known/acme-challenge/LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowyjxAjEuX0\": dial tcp 198.51.100.1:80: connect: network is unreachable"
Fixed by correcting the error checking code to look for "network is unreachable" instead of "Network unreachable"
[x] //va: TestFetchHTTP/Broken_IPv6_only
http_test.go:1107: [{"type":"connection","detail":"::1: Fetching http://ipv6.localhost/ok: Connection refused","status":400}] !(json)= [{"type":"connection","detail":"::1: Fetching http://ipv6.localhost/ok: Error getting validation data","status":400}]
Fixed by making the expected error message more specific -- it was previously looking for "Error getting validation data", which is the message that detailedError gives for errors it doesn't recognize. An underlying library has changed to provide an error type that detailedError now recognizes as a connection error.
Fix three unit tests which have been flakily failing for the last several weeks:
directory_test.go:182: "Get \"http://localhost:1987/\": dial tcp [::1]:1987: connect: connection refused" != "Get \"http://localhost:1987/\": dial tcp 127.0.0.1:1987: connect: connection refused"
Fixed by changing the error checking code to care only about the underlying "connection refused" message, and not the IP address from which it was receieved.http_test.go:1394: HTTP returned before 250ms (3.860444ms) with "198.51.100.1: Get \"http://unroutable.invalid/.well-known/acme-challenge/LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowyjxAjEuX0\": dial tcp 198.51.100.1:80: connect: network is unreachable"
Fixed by correcting the error checking code to look for "network is unreachable" instead of "Network unreachable"http_test.go:1107: [{"type":"connection","detail":"::1: Fetching http://ipv6.localhost/ok: Connection refused","status":400}] !(json)= [{"type":"connection","detail":"::1: Fetching http://ipv6.localhost/ok: Error getting validation data","status":400}]
Fixed by making the expected error message more specific -- it was previously looking for "Error getting validation data", which is the message thatdetailedError
gives for errors it doesn't recognize. An underlying library has changed to provide an error type thatdetailedError
now recognizes as a connection error.