Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
go
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
go
Commits
42a76efc
Commit
42a76efc
authored
Jun 06, 2012
by
Fazlul Shahriar
Committed by
Russ Cox
Jun 06, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
net: pass tests on Plan 9 again
R=golang-dev CC=golang-dev
https://golang.org/cl/6280045
parent
ede6718c
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
48 additions
and
42 deletions
+48
-42
src/pkg/net/dial_test.go
src/pkg/net/dial_test.go
+1
-1
src/pkg/net/ipraw_test.go
src/pkg/net/ipraw_test.go
+2
-0
src/pkg/net/ipsock_plan9.go
src/pkg/net/ipsock_plan9.go
+19
-0
src/pkg/net/multicast_test.go
src/pkg/net/multicast_test.go
+2
-0
src/pkg/net/net_test.go
src/pkg/net/net_test.go
+5
-0
src/pkg/net/tcpsock_plan9.go
src/pkg/net/tcpsock_plan9.go
+12
-19
src/pkg/net/udpsock.go
src/pkg/net/udpsock.go
+4
-0
src/pkg/net/udpsock_plan9.go
src/pkg/net/udpsock_plan9.go
+0
-16
src/pkg/net/udpsock_posix.go
src/pkg/net/udpsock_posix.go
+1
-6
src/pkg/net/unicast_test.go
src/pkg/net/unicast_test.go
+2
-0
No files found.
src/pkg/net/dial_test.go
View file @
42a76efc
...
...
@@ -130,7 +130,7 @@ func TestSelfConnect(t *testing.T) {
n
=
1000
}
switch
runtime
.
GOOS
{
case
"darwin"
,
"freebsd"
,
"netbsd"
,
"openbsd"
,
"windows"
:
case
"darwin"
,
"freebsd"
,
"netbsd"
,
"openbsd"
,
"
plan9"
,
"
windows"
:
// Non-Linux systems take a long time to figure
// out that there is nothing listening on localhost.
n
=
100
...
...
src/pkg/net/ipraw_test.go
View file @
42a76efc
...
...
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !plan9
package
net
import
(
...
...
src/pkg/net/ipsock_plan9.go
View file @
42a76efc
...
...
@@ -14,6 +14,9 @@ import (
"time"
)
// /sys/include/ape/sys/socket.h:/SOMAXCONN
var
listenerBacklog
=
5
// probeIPv6Stack returns two boolean values. If the first boolean value is
// true, kernel supports basic IPv6 functionality. If the second
// boolean value is true, kernel supports IPv6 IPv4-mapping.
...
...
@@ -48,6 +51,7 @@ func readPlan9Addr(proto, filename string) (addr Addr, err error) {
if
err
!=
nil
{
return
}
defer
f
.
Close
()
n
,
err
:=
f
.
Read
(
buf
[
:
])
if
err
!=
nil
{
return
...
...
@@ -192,6 +196,7 @@ func startPlan9(net string, addr Addr) (ctl *os.File, dest, proto, name string,
var
buf
[
16
]
byte
n
,
err
:=
f
.
Read
(
buf
[
:
])
if
err
!=
nil
{
f
.
Close
()
return
}
return
f
,
dest
,
proto
,
string
(
buf
[
:
n
]),
nil
...
...
@@ -204,14 +209,17 @@ func dialPlan9(net string, laddr, raddr Addr) (c *plan9Conn, err error) {
}
_
,
err
=
f
.
WriteString
(
"connect "
+
dest
)
if
err
!=
nil
{
f
.
Close
()
return
}
laddr
,
err
=
readPlan9Addr
(
proto
,
"/net/"
+
proto
+
"/"
+
name
+
"/local"
)
if
err
!=
nil
{
f
.
Close
()
return
}
raddr
,
err
=
readPlan9Addr
(
proto
,
"/net/"
+
proto
+
"/"
+
name
+
"/remote"
)
if
err
!=
nil
{
f
.
Close
()
return
}
return
newPlan9Conn
(
proto
,
name
,
f
,
laddr
,
raddr
),
nil
...
...
@@ -230,10 +238,12 @@ func listenPlan9(net string, laddr Addr) (l *plan9Listener, err error) {
}
_
,
err
=
f
.
WriteString
(
"announce "
+
dest
)
if
err
!=
nil
{
f
.
Close
()
return
}
laddr
,
err
=
readPlan9Addr
(
proto
,
"/net/"
+
proto
+
"/"
+
name
+
"/local"
)
if
err
!=
nil
{
f
.
Close
()
return
}
l
=
new
(
plan9Listener
)
...
...
@@ -257,15 +267,18 @@ func (l *plan9Listener) acceptPlan9() (c *plan9Conn, err error) {
var
buf
[
16
]
byte
n
,
err
:=
f
.
Read
(
buf
[
:
])
if
err
!=
nil
{
f
.
Close
()
return
}
name
:=
string
(
buf
[
:
n
])
laddr
,
err
:=
readPlan9Addr
(
l
.
proto
,
l
.
dir
+
"/local"
)
if
err
!=
nil
{
f
.
Close
()
return
}
raddr
,
err
:=
readPlan9Addr
(
l
.
proto
,
l
.
dir
+
"/remote"
)
if
err
!=
nil
{
f
.
Close
()
return
}
return
newPlan9Conn
(
l
.
proto
,
name
,
f
,
laddr
,
raddr
),
nil
...
...
@@ -287,3 +300,9 @@ func (l *plan9Listener) Close() error {
}
func
(
l
*
plan9Listener
)
Addr
()
Addr
{
return
l
.
laddr
}
// SetDeadline sets the deadline associated with the listener.
// A zero time value disables the deadline.
func
(
l
*
plan9Listener
)
SetDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
src/pkg/net/multicast_test.go
View file @
42a76efc
...
...
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !plan9
package
net
import
(
...
...
src/pkg/net/net_test.go
View file @
42a76efc
...
...
@@ -143,6 +143,11 @@ func TestTCPListenClose(t *testing.T) {
}
func
TestUDPListenClose
(
t
*
testing
.
T
)
{
switch
runtime
.
GOOS
{
case
"plan9"
:
t
.
Logf
(
"skipping test on %q"
,
runtime
.
GOOS
)
return
}
ln
,
err
:=
ListenPacket
(
"udp"
,
"127.0.0.1:0"
)
if
err
!=
nil
{
t
.
Fatalf
(
"Listen failed: %v"
,
err
)
...
...
src/pkg/net/tcpsock_plan9.go
View file @
42a76efc
...
...
@@ -6,10 +6,7 @@
package
net
import
(
"syscall"
"time"
)
import
"syscall"
// TCPConn is an implementation of the Conn interface
// for TCP network connections.
...
...
@@ -17,21 +14,6 @@ type TCPConn struct {
plan9Conn
}
// SetDeadline implements the Conn SetDeadline method.
func
(
c
*
TCPConn
)
SetDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// SetReadDeadline implements the Conn SetReadDeadline method.
func
(
c
*
TCPConn
)
SetReadDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// SetWriteDeadline implements the Conn SetWriteDeadline method.
func
(
c
*
TCPConn
)
SetWriteDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// CloseRead shuts down the reading side of the TCP connection.
// Most callers should just use Close.
func
(
c
*
TCPConn
)
CloseRead
()
error
{
...
...
@@ -76,6 +58,17 @@ type TCPListener struct {
plan9Listener
}
func
(
l
*
TCPListener
)
Close
()
error
{
if
l
==
nil
||
l
.
ctl
==
nil
{
return
syscall
.
EINVAL
}
if
_
,
err
:=
l
.
ctl
.
WriteString
(
"hangup"
);
err
!=
nil
{
l
.
ctl
.
Close
()
return
err
}
return
l
.
ctl
.
Close
()
}
// ListenTCP announces on the TCP address laddr and returns a TCP listener.
// Net must be "tcp", "tcp4", or "tcp6".
// If laddr has a port of 0, it means to listen on some available port.
...
...
src/pkg/net/udpsock.go
View file @
42a76efc
...
...
@@ -6,6 +6,10 @@
package
net
import
"errors"
var
ErrWriteToConnected
=
errors
.
New
(
"use of WriteTo with pre-connected UDP"
)
// UDPAddr represents the address of a UDP end point.
type
UDPAddr
struct
{
IP
IP
...
...
src/pkg/net/udpsock_plan9.go
View file @
42a76efc
...
...
@@ -10,7 +10,6 @@ import (
"errors"
"os"
"syscall"
"time"
)
// UDPConn is the implementation of the Conn and PacketConn
...
...
@@ -19,21 +18,6 @@ type UDPConn struct {
plan9Conn
}
// SetDeadline implements the Conn SetDeadline method.
func
(
c
*
UDPConn
)
SetDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// SetReadDeadline implements the Conn SetReadDeadline method.
func
(
c
*
UDPConn
)
SetReadDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// SetWriteDeadline implements the Conn SetWriteDeadline method.
func
(
c
*
UDPConn
)
SetWriteDeadline
(
t
time
.
Time
)
error
{
return
syscall
.
EPLAN9
}
// UDP-specific methods.
// ReadFromUDP reads a UDP packet from c, copying the payload into b.
...
...
src/pkg/net/udpsock_posix.go
View file @
42a76efc
...
...
@@ -8,12 +8,7 @@
package
net
import
(
"errors"
"syscall"
)
var
ErrWriteToConnected
=
errors
.
New
(
"use of WriteTo with pre-connected UDP"
)
import
"syscall"
func
sockaddrToUDP
(
sa
syscall
.
Sockaddr
)
Addr
{
switch
sa
:=
sa
.
(
type
)
{
...
...
src/pkg/net/unicast_test.go
View file @
42a76efc
...
...
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !plan9
package
net
import
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment