@@ -72,9 +72,8 @@ func (s *TCPConnectSimulator) Simulate(ctx context.Context, dst string) error {
7272 if conn != nil {
7373 conn .Close ()
7474 }
75- // This will likely generate some superfluous io-timeout error messages, but if the
76- // user specifies a misconfigured interface, they'll see the simulation failing.
77- if err != nil && (! isSoftError (err , "connect: connection refused" ) || isDialError (err )) {
75+ // Ignore "connection refused" and timeouts.
76+ if err != nil && ! isSoftError (err , "connect: connection refused" ) {
7877 return err
7978 }
8079 return nil
@@ -111,24 +110,14 @@ func (s *DNSResolveSimulator) Simulate(ctx context.Context, dst string) error {
111110 host = utils .FQDN (host )
112111
113112 _ , err := r .LookupHost (ctx , host )
114- // Ignore "no such host". Will ignore timeouts as well, so check for dial errors .
115- if err != nil && ( ! isSoftError (err , "no such host" ) || isDialError ( err ) ) {
113+ // Ignore "no such host" and timeouts.
114+ if err != nil && ! isSoftError (err , "no such host" ) {
116115 return err
117116 }
118117
119118 return nil
120119}
121120
122- // isDialError scans an error message for signs of a dial error, returning a boolean.
123- func isDialError (err error ) bool {
124- // Errors we're after are of the form:
125- // lookup abc.sandbox.alphasoc.xyz. on A.B.C.D:53: dial udp E.F.G.H:0->A.B.C.D:53: i/o timeout
126- // TODO: something more robust? I don't want to double-dial though.
127- return isTimeout (err ) &&
128- strings .Contains (err .Error (), "dial" ) &&
129- strings .Count (err .Error (), "->" ) == 1
130- }
131-
132121func isTimeout (err error ) bool {
133122 netErr , ok := err .(net.Error )
134123 if ! ok {
0 commit comments