diff options
author | Russ Cox <rsc@golang.org> | 2014-10-16 15:00:08 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-10-16 15:00:08 -0400 |
commit | 78db2eb9c66d478bee0d56edcc55d4f865f8c6c7 (patch) | |
tree | d08da7ddd82570422ae87dc9d3ac061f8ce3b648 /src/net/udp_test.go | |
parent | af64ab79c0ad72decf083d78cf54257d009741b5 (diff) | |
parent | 25c63c2c30f4807b073f849d248144d97893ce70 (diff) | |
download | go-78db2eb9c66d478bee0d56edcc55d4f865f8c6c7.tar.gz |
all: merge default branch into dev.garbage
hg was unable to create a CL on the code review server for this,
so I am submitting the merge by hand.
The only manual edits are in mgc0.c, to reapply the
removal of cached/ncached to the new code.
Diffstat (limited to 'src/net/udp_test.go')
-rw-r--r-- | src/net/udp_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/net/udp_test.go b/src/net/udp_test.go index e1778779c..125bbca6c 100644 --- a/src/net/udp_test.go +++ b/src/net/udp_test.go @@ -9,6 +9,7 @@ import ( "runtime" "strings" "testing" + "time" ) func TestResolveUDPAddr(t *testing.T) { @@ -34,6 +35,46 @@ func TestResolveUDPAddr(t *testing.T) { } } +func TestReadFromUDP(t *testing.T) { + switch runtime.GOOS { + case "nacl", "plan9": + t.Skipf("skipping test on %q, see issue 8916", runtime.GOOS) + } + + ra, err := ResolveUDPAddr("udp", "127.0.0.1:7") + if err != nil { + t.Fatal(err) + } + + la, err := ResolveUDPAddr("udp", "127.0.0.1:0") + if err != nil { + t.Fatal(err) + } + + c, err := ListenUDP("udp", la) + if err != nil { + t.Fatal(err) + } + defer c.Close() + + _, err = c.WriteToUDP([]byte("a"), ra) + if err != nil { + t.Fatal(err) + } + + err = c.SetDeadline(time.Now().Add(100 * time.Millisecond)) + if err != nil { + t.Fatal(err) + } + b := make([]byte, 1) + _, _, err = c.ReadFromUDP(b) + if err == nil { + t.Fatal("ReadFromUDP should fail") + } else if !isTimeout(err) { + t.Fatal(err) + } +} + func TestWriteToUDP(t *testing.T) { switch runtime.GOOS { case "plan9": |