Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1162)

Delta Between Two Patch Sets: ipv4/unicastsockopt_test.go

Issue 6482044: code review 6482044: go.net/ipv4: new package (Closed)
Left Patch Set: diff -r 2513e9008213 https://code.google.com/p/go.net Created 12 years, 6 months ago
Right Patch Set: diff -r 2513e9008213 https://code.google.com/p/go.net Created 12 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « ipv4/unicast_test.go ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2012 The Go Authors. All rights reserved. 1 // Copyright 2012 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 // +build darwin freebsd linux openbsd 5 // +build darwin freebsd linux netbsd openbsd windows
6 6
7 package ipv4_test 7 package ipv4_test
8 8
9 import ( 9 import (
10 "code.google.com/p/go.net/ipv4" 10 "code.google.com/p/go.net/ipv4"
11 "errors" 11 "errors"
12 "net" 12 "net"
13 "os" 13 "os"
14 "runtime"
14 "testing" 15 "testing"
15 ) 16 )
16 17
17 type testUnicastConn interface { 18 type testUnicastConn interface {
18 TOS() (int, error) 19 TOS() (int, error)
19 SetTOS(int) error 20 SetTOS(int) error
20 TTL() (int, error) 21 TTL() (int, error)
21 SetTTL(int) error 22 SetTTL(int) error
22 } 23 }
23 24
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 t.Errorf("ipv4.NewRawConn failed: %v", err) 105 t.Errorf("ipv4.NewRawConn failed: %v", err)
105 return 106 return
106 } 107 }
107 if err := testUnicastSockopt(t, tt, r); err != nil { 108 if err := testUnicastSockopt(t, tt, r); err != nil {
108 break 109 break
109 } 110 }
110 } 111 }
111 } 112 }
112 113
113 func testUnicastSockopt(t *testing.T, tt unicastSockoptTest, c testUnicastConn) error { 114 func testUnicastSockopt(t *testing.T, tt unicastSockoptTest, c testUnicastConn) error {
114 » if err := c.SetTOS(tt.tos); err != nil { 115 » switch runtime.GOOS {
115 » » t.Errorf("ipv4.Conn.SetTOS failed: %v", err) 116 » case "windows":
116 » » return err 117 » » // IP_TOS option is supported on Windows 8 and beyond.
118 » » t.Logf("skipping IP_TOS test on %q", runtime.GOOS)
119 » default:
120 » » if err := c.SetTOS(tt.tos); err != nil {
121 » » » t.Errorf("ipv4.Conn.SetTOS failed: %v", err)
122 » » » return err
123 » » }
124 » » if v, err := c.TOS(); err != nil {
125 » » » t.Errorf("ipv4.Conn.TOS failed: %v", err)
126 » » » return err
127 » » } else if v != tt.tos {
128 » » » t.Errorf("Got unexpected TOS value %v; expected %v", v, tt.tos)
129 » » » return errors.New("Got unexpected TOS value")
130 » » }
117 } 131 }
132
118 if err := c.SetTTL(tt.ttl); err != nil { 133 if err := c.SetTTL(tt.ttl); err != nil {
119 t.Errorf("ipv4.Conn.SetTTL failed: %v", err) 134 t.Errorf("ipv4.Conn.SetTTL failed: %v", err)
120 return err 135 return err
121 }
122 if v, err := c.TOS(); err != nil {
123 t.Errorf("ipv4.Conn.TOS failed: %v", err)
124 return err
125 } else if v != tt.tos {
126 t.Errorf("Got unexpected TOS value %v; expected %v", v, tt.tos)
127 return errors.New("Got unexpected TOS value")
128 } 136 }
129 if v, err := c.TTL(); err != nil { 137 if v, err := c.TTL(); err != nil {
130 t.Errorf("ipv4.Conn.TTL failed: %v", err) 138 t.Errorf("ipv4.Conn.TTL failed: %v", err)
131 return err 139 return err
132 } else if v != tt.ttl { 140 } else if v != tt.ttl {
133 t.Errorf("Got unexpected TTL value %v; expected %v", v, tt.ttl) 141 t.Errorf("Got unexpected TTL value %v; expected %v", v, tt.ttl)
134 return errors.New("Got unexpected TTL value") 142 return errors.New("Got unexpected TTL value")
135 } 143 }
144
136 return nil 145 return nil
137 } 146 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b