diff --git a/integration/build/build_test.go b/integration/build/build_test.go index cd682a5e58b43..2762a4ba4b092 100644 --- a/integration/build/build_test.go +++ b/integration/build/build_test.go @@ -22,7 +22,6 @@ import ( ) func TestBuildWithRemoveAndForceRemove(t *testing.T) { - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") defer setupTest(t)() cases := []struct { @@ -189,7 +188,6 @@ func TestBuildMultiStageCopy(t *testing.T) { func TestBuildMultiStageParentConfig(t *testing.T) { skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.35"), "broken in earlier versions") - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") dockerfile := ` FROM busybox AS stage0 ENV WHO=parent @@ -341,7 +339,6 @@ func TestBuildWithEmptyLayers(t *testing.T) { // #35652 func TestBuildMultiStageOnBuild(t *testing.T) { skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.33"), "broken in earlier versions") - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") defer setupTest(t)() // test both metadata and layer based commands as they may be implemented differently dockerfile := `FROM busybox AS stage1 @@ -448,7 +445,6 @@ COPY bar /` // docker/for-linux#135 // #35641 func TestBuildMultiStageLayerLeak(t *testing.T) { - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.37"), "broken in earlier versions") ctx := context.TODO() defer setupTest(t)() diff --git a/integration/container/copy_test.go b/integration/container/copy_test.go index 2ec8278ac940c..cc5e457b94585 100644 --- a/integration/container/copy_test.go +++ b/integration/container/copy_test.go @@ -22,7 +22,6 @@ import ( func TestCopyFromContainerPathDoesNotExist(t *testing.T) { defer setupTest(t)() - skip.If(t, testEnv.OSType == "windows") ctx := context.Background() apiclient := testEnv.APIClient() @@ -48,7 +47,6 @@ func TestCopyFromContainerPathIsNotDir(t *testing.T) { func TestCopyToContainerPathDoesNotExist(t *testing.T) { defer setupTest(t)() - skip.If(t, testEnv.OSType == "windows") ctx := context.Background() apiclient := testEnv.APIClient() diff --git a/integration/container/exec_test.go b/integration/container/exec_test.go index b29a4806f73e1..0394f52963b96 100644 --- a/integration/container/exec_test.go +++ b/integration/container/exec_test.go @@ -85,7 +85,6 @@ func TestExecWithCloseStdin(t *testing.T) { func TestExec(t *testing.T) { skip.If(t, versions.LessThan(testEnv.DaemonAPIVersion(), "1.35"), "broken in earlier versions") - skip.If(t, testEnv.OSType == "windows", "FIXME. Probably needs to wait for container to be in running state.") defer setupTest(t)() ctx := context.Background() client := testEnv.APIClient() @@ -118,7 +117,11 @@ func TestExec(t *testing.T) { assert.NilError(t, err) out := string(r) assert.NilError(t, err) - assert.Assert(t, is.Contains(out, "PWD=/tmp"), "exec command not running in expected /tmp working directory") + expected := "PWD=/tmp" + if testEnv.OSType == "windows" { + expected = "PWD=C:/tmp" + } + assert.Assert(t, is.Contains(out, expected), "exec command not running in expected /tmp working directory") assert.Assert(t, is.Contains(out, "FOO=BAR"), "exec command not running with expected environment variable FOO") } diff --git a/integration/container/kill_test.go b/integration/container/kill_test.go index c4afb54d67ee0..bcf106c3cf366 100644 --- a/integration/container/kill_test.go +++ b/integration/container/kill_test.go @@ -30,7 +30,6 @@ func TestKillContainerInvalidSignal(t *testing.T) { } func TestKillContainer(t *testing.T) { - skip.If(t, testEnv.OSType == "windows", "TODO Windows: FIXME. No SIGWINCH") defer setupTest(t)() client := testEnv.APIClient() @@ -38,27 +37,32 @@ func TestKillContainer(t *testing.T) { doc string signal string status string + skipOs string }{ { doc: "no signal", signal: "", status: "exited", + skipOs: "", }, { doc: "non killing signal", signal: "SIGWINCH", status: "running", + skipOs: "windows", }, { doc: "killing signal", signal: "SIGTERM", status: "exited", + skipOs: "", }, } for _, tc := range testCases { tc := tc t.Run(tc.doc, func(t *testing.T) { + skip.If(t, testEnv.OSType == tc.skipOs, "Windows does not support SIGWINCH") ctx := context.Background() id := container.Run(ctx, t, client) err := client.ContainerKill(ctx, id, tc.signal) diff --git a/integration/container/nat_test.go b/integration/container/nat_test.go index 7927712592b14..f33c904480412 100644 --- a/integration/container/nat_test.go +++ b/integration/container/nat_test.go @@ -40,7 +40,6 @@ func TestNetworkNat(t *testing.T) { } func TestNetworkLocalhostTCPNat(t *testing.T) { - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") skip.If(t, testEnv.IsRemoteDaemon) defer setupTest(t)() diff --git a/integration/container/resize_test.go b/integration/container/resize_test.go index 876fb4632a758..7f123433c59e3 100644 --- a/integration/container/resize_test.go +++ b/integration/container/resize_test.go @@ -17,7 +17,6 @@ import ( ) func TestResize(t *testing.T) { - skip.If(t, testEnv.OSType == "windows", "FIXME") defer setupTest(t)() client := testEnv.APIClient() ctx := context.Background() diff --git a/integration/image/remove_test.go b/integration/image/remove_test.go index e7efa8318cb19..11d8141da38ac 100644 --- a/integration/image/remove_test.go +++ b/integration/image/remove_test.go @@ -9,11 +9,9 @@ import ( "github.com/docker/docker/integration/internal/container" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" - "gotest.tools/v3/skip" ) func TestRemoveImageOrphaning(t *testing.T) { - skip.If(t, testEnv.DaemonInfo.OSType == "windows", "FIXME") defer setupTest(t)() ctx := context.Background() client := testEnv.APIClient() diff --git a/integration/image/tag_test.go b/integration/image/tag_test.go index e14100e9a14a3..a6b44d67e048f 100644 --- a/integration/image/tag_test.go +++ b/integration/image/tag_test.go @@ -8,7 +8,6 @@ import ( "github.com/docker/docker/testutil" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" - "gotest.tools/v3/skip" ) // tagging a named image in a new unprefixed repo should work @@ -95,7 +94,6 @@ func TestTagExistedNameWithoutForce(t *testing.T) { // ensure tagging using official names works // ensure all tags result in the same name func TestTagOfficialNames(t *testing.T) { - skip.If(t, testEnv.OSType == "windows") defer setupTest(t)() client := testEnv.APIClient() ctx := context.Background() diff --git a/integration/volume/volume_test.go b/integration/volume/volume_test.go index a7a729764dd44..65f457d6d84ce 100644 --- a/integration/volume/volume_test.go +++ b/integration/volume/volume_test.go @@ -16,7 +16,6 @@ import ( "github.com/google/go-cmp/cmp/cmpopts" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" - "gotest.tools/v3/skip" ) func TestVolumesCreateAndList(t *testing.T) { @@ -61,7 +60,6 @@ func TestVolumesCreateAndList(t *testing.T) { } func TestVolumesRemove(t *testing.T) { - skip.If(t, testEnv.OSType == "windows", "FIXME") defer setupTest(t)() client := testEnv.APIClient() ctx := context.Background()