From 8387700d0d0b95c7e46e4ee005b8099cb1ec0dd2 Mon Sep 17 00:00:00 2001 From: Aswath S Date: Thu, 16 Feb 2023 20:33:29 +0530 Subject: [PATCH] feat(image): custom docker host option: windows compatible custom host test (#2997) --- pkg/fanal/image/daemon/image_test.go | 39 ++++++++++++++++++---------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/pkg/fanal/image/daemon/image_test.go b/pkg/fanal/image/daemon/image_test.go index c7138eb1ceab..a2a2795df4b3 100644 --- a/pkg/fanal/image/daemon/image_test.go +++ b/pkg/fanal/image/daemon/image_test.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "testing" "time" @@ -73,26 +74,38 @@ func Test_image_ConfigName(t *testing.T) { } func Test_image_ConfigNameWithCustomDockerHost(t *testing.T) { - runtimeDir, err := ioutil.TempDir("", "daemon") - require.NoError(t, err) - dir := filepath.Join(runtimeDir, "image") - err = os.MkdirAll(dir, os.ModePerm) + ref, err := name.ParseReference("alpine:3.11") require.NoError(t, err) - customDockerHost := filepath.Join(dir, "image-test-unix-socket.sock") + eo := engine.Option{ + APIVersion: opt.APIVersion, + ImagePaths: opt.ImagePaths, + } + + var dockerHostParam string + + if runtime.GOOS != "windows" { + runtimeDir, err := ioutil.TempDir("", "daemon") + require.NoError(t, err) + + dir := filepath.Join(runtimeDir, "image") + err = os.MkdirAll(dir, os.ModePerm) + require.NoError(t, err) - te := engine.NewDockerEngine(engine.Option{ - APIVersion: opt.APIVersion, - ImagePaths: opt.ImagePaths, - UnixDomainSocket: customDockerHost, - }) + customDockerHost := filepath.Join(dir, "image-test-unix-socket.sock") + eo.UnixDomainSocket = customDockerHost + dockerHostParam = "unix://" + customDockerHost + } + + te := engine.NewDockerEngine(eo) defer te.Close() - ref, err := name.ParseReference("alpine:3.11") - require.NoError(t, err) + if runtime.GOOS == "windows" { + dockerHostParam = te.Listener.Addr().String() + } - img, cleanup, err := DockerImage(ref, "unix:///"+customDockerHost) + img, cleanup, err := DockerImage(ref, dockerHostParam) require.NoError(t, err) defer cleanup()