Serge Zirukinfirst revision7d0013a13 years agoHistory
74 lines · 1.0 KB · Go
RawDownload
package fd import (	"net"	"os"	"sync"	"testing") var SockFilename = "/tmp/sendfd.sock" func getFD(t *testing.T, w *sync.WaitGroup) {	defer w.Done() 	c, err := net.Dial("unix", SockFilename)	if err != nil {		t.Fatal(err)	}	defer c.Close()	sendfdConn := c.(*net.UnixConn) 	var fs []*os.File	fs, err = Get(sendfdConn, 1, []string{"a file"})	if err != nil {		t.Fatal(err)	}	f := fs[0]	defer f.Close() 	b := make([]byte, 64)	var n int	n, err = f.Read(b)	if err != nil {		t.Fatal(err)	} 	if n < 1 {		t.Fatal("failed to read the data")	}} func TestPutGet(t *testing.T) {	f, err := os.Open("/dev/urandom")	if err != nil {		t.Fatal(err)	}	defer f.Close() 	os.Remove(SockFilename)	l, err := net.Listen("unix", SockFilename)	if err != nil {		t.Fatal(err)	}	defer l.Close() 	var w sync.WaitGroup	w.Add(1)	go getFD(t, &w) 	var a net.Conn	a, err = l.Accept()	if err != nil {		t.Fatal(err)	}	defer a.Close() 	listenConn := a.(*net.UnixConn) 	if err = Put(listenConn, f); err != nil {		t.Fatal(err)	} 	w.Wait()}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t