jldb/mdb/pfile/sendrecv_test.go

63 lines
1.0 KiB
Go

package pfile
/*
func TestSendRecv(t *testing.T) {
tmpDir := t.TempDir()
filePath1 := filepath.Join(tmpDir, "1")
filePath2 := filepath.Join(tmpDir, "2")
defer os.RemoveAll(tmpDir)
f1, err := os.Create(filePath1)
if err != nil {
t.Fatal(err)
}
size := rand.Int63n(1024 * 1024 * 128)
buf := make([]byte, size)
crand.Read(buf)
if _, err := f1.Write(buf); err != nil {
t.Fatal(err)
}
if err := f1.Close(); err != nil {
t.Fatal(err)
}
c1, c2 := net.Pipe()
errChan := make(chan error)
go func() {
err := Send(filePath1, c1, time.Second)
if err != nil {
log.Printf("Send error: %v", err)
}
errChan <- err
}()
go func() {
err := Recv(filePath2, c2, time.Second)
if err != nil {
log.Printf("Recv error: %v", err)
}
errChan <- err
}()
if err := <-errChan; err != nil {
t.Fatal(err)
}
if err := <-errChan; err != nil {
t.Fatal(err)
}
buf2, err := os.ReadFile(filePath2)
if err != nil {
t.Fatal(err)
}
if !bytes.Equal(buf, buf2) {
t.Fatal("Not equal.")
}
}
*/