add DialPipeContext

This commit is contained in:
Simeone
2019-03-26 09:43:43 +01:00
parent dd3d7fa178
commit 5fdbdcc2ae
2 changed files with 54 additions and 15 deletions
+21
View File
@@ -3,6 +3,7 @@ package winio
import (
"bufio"
"bytes"
"context"
"io"
"net"
"os"
@@ -37,6 +38,26 @@ func TestDialListenerTimesOut(t *testing.T) {
}
}
func TestDialListenerGetsCancelled(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
l, err := ListenPipe(testPipeName, nil)
if err != nil {
t.Fatal(err)
}
ch := make(chan error)
defer l.Close()
go func(ctx context.Context, ch chan error) {
_, err := DialPipeContext(ctx, testPipeName)
ch <- err
}(ctx, ch)
time.Sleep(time.Millisecond * 30)
cancel()
err = <-ch
if err == nil {
t.Fatalf("expected ErrTimeout, got %v", err)
}
}
func TestDialAccessDeniedWithRestrictedSD(t *testing.T) {
c := PipeConfig{
SecurityDescriptor: "D:P(A;;0x1200FF;;;WD)",