From 83545b8451cfc16b92c73d8ab99ab8e4364f6fc7 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Mon, 3 Apr 2023 09:41:32 +0300 Subject: [PATCH] network: fix Address test failing on Windows/macOS with go 1.20 See the trace: ``` 2023-03-31T07:46:21.1886260Z === RUN TestEncodeDecodeAddress 2023-03-31T07:46:21.1886420Z address_test.go:30: 2023-03-31T07:46:21.1887000Z Error Trace: /Users/runner/work/neo-go/neo-go/pkg/network/payload/address_test.go:30 2023-03-31T07:46:21.1887180Z Error: Not equal: 2023-03-31T07:46:21.1887580Z expected: net.IP{0x7f, 0x0, 0x0, 0x1} 2023-03-31T07:46:21.1888290Z actual : net.IP{0x7f, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} 2023-03-31T07:46:21.1888450Z 2023-03-31T07:46:21.1888640Z Diff: 2023-03-31T07:46:21.1888960Z --- Expected 2023-03-31T07:46:21.1889180Z +++ Actual 2023-03-31T07:46:21.1889510Z @@ -1,3 +1,3 @@ 2023-03-31T07:46:21.1889870Z -(net.IP) (len=4) { 2023-03-31T07:46:21.1890530Z - 00000000 7f 00 00 01 |....| 2023-03-31T07:46:21.1891140Z +(net.IP) (len=16) { 2023-03-31T07:46:21.1891780Z + 00000000 7f 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 |................| 2023-03-31T07:46:21.1891970Z } 2023-03-31T07:46:21.1892510Z Test: TestEncodeDecodeAddress 2023-03-31T07:46:21.1892770Z --- FAIL: TestEncodeDecodeAddress (0.00s) ``` I'm still not sure what's the original root of this problem, there's nothing about resolving scheme changes in https://go.dev/doc/go1.20, but it didn't happen earlier and it works as expected in Ubuntu. --- pkg/network/payload/address_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/network/payload/address_test.go b/pkg/network/payload/address_test.go index 843aeecc0..55adb9882 100644 --- a/pkg/network/payload/address_test.go +++ b/pkg/network/payload/address_test.go @@ -25,9 +25,15 @@ func TestEncodeDecodeAddress(t *testing.T) { ) assert.Equal(t, ts.UTC().Unix(), int64(addr.Timestamp)) + + // On Windows or macOS localhost can be resolved to 4-bytes IPv4. + expected := make(net.IP, 16) + copy(expected, e.IP[:]) + aatip := make(net.IP, 16) copy(aatip, addr.IP[:]) - assert.Equal(t, e.IP, aatip) + + assert.Equal(t, expected, aatip) assert.Equal(t, 1, len(addr.Capabilities)) assert.Equal(t, capability.Capability{ Type: capability.TCPServer,