diff options
author | Dimitri Sokolyuk <demon@dim13.org> | 2018-07-24 14:35:44 +0200 |
---|---|---|
committer | Dimitri Sokolyuk <demon@dim13.org> | 2018-07-24 14:35:44 +0200 |
commit | 621e49bb465f500cc46d47e39e828cf76d6381d7 (patch) | |
tree | e9d6ed54cfae73209f2b0d9a016ef0b64adf45a6 /vendor/golang.org/x/net/route/address_darwin_test.go | |
parent | 5b9a4a158b81aa6e94a5a56d0851bea938b87bef (diff) |
update vendor
Diffstat (limited to 'vendor/golang.org/x/net/route/address_darwin_test.go')
-rw-r--r-- | vendor/golang.org/x/net/route/address_darwin_test.go | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/golang.org/x/net/route/address_darwin_test.go b/vendor/golang.org/x/net/route/address_darwin_test.go new file mode 100644 index 0000000..b86bd3d --- /dev/null +++ b/vendor/golang.org/x/net/route/address_darwin_test.go @@ -0,0 +1,63 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package route + +import ( + "reflect" + "testing" +) + +type parseAddrsOnDarwinTest struct { + attrs uint + fn func(int, []byte) (int, Addr, error) + b []byte + as []Addr +} + +var parseAddrsOnDarwinLittleEndianTests = []parseAddrsOnDarwinTest{ + { + sysRTA_DST | sysRTA_GATEWAY | sysRTA_NETMASK, + parseKernelInetAddr, + []byte{ + 0x10, 0x2, 0x0, 0x0, 0xc0, 0xa8, 0x56, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + + 0x14, 0x12, 0x4, 0x0, 0x6, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, + + 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + }, + []Addr{ + &Inet4Addr{IP: [4]byte{192, 168, 86, 0}}, + &LinkAddr{Index: 4}, + &Inet4Addr{IP: [4]byte{255, 255, 255, 255}}, + nil, + nil, + nil, + nil, + nil, + }, + }, +} + +func TestParseAddrsOnDarwin(t *testing.T) { + tests := parseAddrsOnDarwinLittleEndianTests + if nativeEndian != littleEndian { + t.Skip("no test for non-little endian machine yet") + } + + for i, tt := range tests { + as, err := parseAddrs(tt.attrs, tt.fn, tt.b) + if err != nil { + t.Error(i, err) + continue + } + if !reflect.DeepEqual(as, tt.as) { + t.Errorf("#%d: got %+v; want %+v", i, as, tt.as) + continue + } + } +} |