63 lines
1.0 KiB
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.")
|
||
|
}
|
||
|
}
|
||
|
*/
|