Map the error returned when a dial is aborted from the context package
error to the internal net package error. For example, context.Canceled
errors map to errCanceled, and context.DeadlineExceeded errors map to
poll.ErrTimeout.
Fixes #23648
Change-Id: Idf9d3d08052d540740c0b054503aaed931dc5b1e
Reviewed-on: https://go-review.googlesource.com/103518
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
        if !ok || oe.Op != "dial" {
                t.Fatalf("Dial error = %#v; want dial *OpError", err)
        }
-       if oe.Err != ctx.Err() {
-               t.Errorf("DialContext = (%v, %v); want OpError with error %v", c, err, ctx.Err())
+
+       if oe.Err != errCanceled {
+               t.Errorf("DialContext = (%v, %v); want OpError with error %v", c, err, errCanceled)
        }
 }
 
                                // == nil). Because we've now poisoned the connection
                                // by making it unwritable, don't return a successful
                                // dial. This was issue 16523.
-                               ret = ctxErr
+                               ret = mapErr(ctxErr)
                                fd.Close() // prevent a leak
                        }
                }()