libgo: update to go1.9
[official-gcc.git] / libgo / go / net / rawconn_windows_test.go
blob5fb6de7539398ce9da15cec882ba1d5c2b42bec5
1 // Copyright 2017 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
5 package net
7 import (
8 "syscall"
9 "testing"
12 func TestRawConn(t *testing.T) {
13 c, err := newLocalPacketListener("udp")
14 if err != nil {
15 t.Fatal(err)
17 defer c.Close()
18 cc, err := c.(*UDPConn).SyscallConn()
19 if err != nil {
20 t.Fatal(err)
23 var operr error
24 fn := func(s uintptr) {
25 operr = syscall.SetsockoptInt(syscall.Handle(s), syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1)
27 err = cc.Control(fn)
28 if err != nil || operr != nil {
29 t.Fatal(err, operr)
31 c.Close()
32 err = cc.Control(fn)
33 if err == nil {
34 t.Fatal("should fail")