From 08b65e7dd3e722da535767ee31ac8ed58c0cb3e2 Mon Sep 17 00:00:00 2001 From: John Howard Date: Wed, 2 Mar 2016 14:14:14 -0800 Subject: [PATCH] Windows CI: Allow npipe protocol for sock requests Signed-off-by: John Howard --- integration-cli/docker_utils.go | 2 ++ integration-cli/npipe.go | 12 ++++++++++++ integration-cli/npipe_windows.go | 12 ++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 integration-cli/npipe.go create mode 100644 integration-cli/npipe_windows.go diff --git a/integration-cli/docker_utils.go b/integration-cli/docker_utils.go index 4bb43d7f80..2f1cffe0da 100644 --- a/integration-cli/docker_utils.go +++ b/integration-cli/docker_utils.go @@ -577,6 +577,8 @@ func sockConn(timeout time.Duration) (net.Conn, error) { var c net.Conn switch daemonURL.Scheme { + case "npipe": + return npipeDial(daemonURL.Path, timeout) case "unix": return net.DialTimeout(daemonURL.Scheme, daemonURL.Path, timeout) case "tcp": diff --git a/integration-cli/npipe.go b/integration-cli/npipe.go new file mode 100644 index 0000000000..fa531a1b4d --- /dev/null +++ b/integration-cli/npipe.go @@ -0,0 +1,12 @@ +// +build !windows + +package main + +import ( + "net" + "time" +) + +func npipeDial(path string, timeout time.Duration) (net.Conn, error) { + panic("npipe protocol only supported on Windows") +} diff --git a/integration-cli/npipe_windows.go b/integration-cli/npipe_windows.go new file mode 100644 index 0000000000..4fd735f2db --- /dev/null +++ b/integration-cli/npipe_windows.go @@ -0,0 +1,12 @@ +package main + +import ( + "net" + "time" + + "github.com/Microsoft/go-winio" +) + +func npipeDial(path string, timeout time.Duration) (net.Conn, error) { + return winio.DialPipe(path, &timeout) +}