]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: fix TestScript/govcs
authorRuss Cox <rsc@golang.org>
Wed, 5 Nov 2025 19:46:35 +0000 (14:46 -0500)
committerGopher Robot <gobot@golang.org>
Wed, 5 Nov 2025 20:36:35 +0000 (12:36 -0800)
On my Mac, TestScript/govcs was failing because hg prints a URL
using 1.0.0.127.in-addr.arpa instead of 127.0.0.1, and my Mac
cannot resolve that name back into an IP address.

% host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
% host 1.0.0.127.in-addr.arpa
%

Change-Id: Ia0762342d5926d13d786fe66de40590dc8977ff5
Reviewed-on: https://go-review.googlesource.com/c/go/+/718184
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
Auto-Submit: Russ Cox <rsc@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/cmd/go/internal/vcweb/hg.go

index 4571277c9f1a5a4bfd9235ed3582363dda02347a..e07cd3c8750357dcbc8ae216d2cd6a5321292052 100644 (file)
@@ -109,6 +109,13 @@ func (h *hgHandler) Handler(dir string, env []string, logger *log.Logger) (http.
                        wg.Done()
                }()
 
+               // On some systems,
+               // hg serve --address=localhost --print-url prints in-addr.arpa hostnames
+               // even though they cannot be looked up.
+               // Replace them with IP literals.
+               line = strings.ReplaceAll(line, "//1.0.0.127.in-addr.arpa", "//127.0.0.1")
+               line = strings.ReplaceAll(line, "//1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa", "//[::1]")
+
                u, err := url.Parse(strings.TrimSpace(line))
                if err != nil {
                        logger.Printf("%v: %v", cmd, err)