From 0d8345df6637b0fbd595eb8f7cb61be5ebeee314 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 12 May 2022 09:30:54 +0200 Subject: [PATCH] net/netip: skip some TestAddrStringAllocs tests on noopt builders CL 403914 introduced TestAddrStringAllocs which checks that there is only 1 alloc in Addr.String for v4-in-v6 addresses. This requires optimizations to be enabled, otherwise there are 2 allocs. Skip the ipv4-in-ipv6 sub-tests on noopt builders to fix failing TestAddrStringAllocs on the noopt builders. Change-Id: I0285264260b264b53cf822dc7cec4829e9854531 Reviewed-on: https://go-review.googlesource.com/c/go/+/405834 Reviewed-by: Dmitri Shuralyov TryBot-Result: Gopher Robot Auto-Submit: Tobias Klauser Run-TryBot: Tobias Klauser Reviewed-by: Bryan Mills --- src/net/netip/netip_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/net/netip/netip_test.go b/src/net/netip/netip_test.go index 9fe7cae6ec..74dcc974f8 100644 --- a/src/net/netip/netip_test.go +++ b/src/net/netip/netip_test.go @@ -10,6 +10,7 @@ import ( "flag" "fmt" "internal/intern" + "internal/testenv" "net" . "net/netip" "reflect" @@ -1907,8 +1908,13 @@ func TestAddrStringAllocs(t *testing.T) { {"ipv4-in-ipv6", MustParseAddr("::ffff:192.168.1.1"), 1}, {"ipv4-in-ipv6+zone", MustParseAddr("::ffff:192.168.1.1%eth0"), 1}, } + isNooptBuilder := strings.HasSuffix(testenv.Builder(), "-noopt") for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { + if isNooptBuilder && strings.HasPrefix(tc.name, "ipv4-in-ipv6") { + // Optimizations are required to remove some allocs. + t.Skipf("skipping on %v", testenv.Builder()) + } allocs := int(testing.AllocsPerRun(1000, func() { sinkString = tc.ip.String() }))