Signed-off-by: John Howard <jhoward@microsoft.com>
| ... | ... |
@@ -908,7 +908,7 @@ func (s *DockerSuite) TestStartWithTooLowMemoryLimit(c *check.C) {
|
| 908 | 908 |
} |
| 909 | 909 |
|
| 910 | 910 |
func (s *DockerSuite) TestContainerApiRename(c *check.C) {
|
| 911 |
- // TODO Windows: Enable for TP5. Fails on TP4. |
|
| 911 |
+ // TODO Windows: Debug why this sometimes fails on TP5. For now, leave disabled |
|
| 912 | 912 |
testRequires(c, DaemonIsLinux) |
| 913 | 913 |
out, _ := dockerCmd(c, "run", "--name", "TestContainerApiRename", "-d", "busybox", "sh") |
| 914 | 914 |
|
| ... | ... |
@@ -91,11 +91,6 @@ func (s *DockerSuite) TestEventsContainerFailStartDie(c *check.C) {
|
| 91 | 91 |
} |
| 92 | 92 |
|
| 93 | 93 |
func (s *DockerSuite) TestEventsLimit(c *check.C) {
|
| 94 |
- // TODO Windows CI: This test is not reliable enough on Windows TP4. Reports |
|
| 95 |
- // multiple errors in the analytic log sometimes. |
|
| 96 |
- // [NetSetupHelper::InstallVirtualMiniport()@2153] NetSetup install of ROOT\VMS_MP\0001 failed with error 0x80070002 |
|
| 97 |
- // This should be able to be enabled on TP5. |
|
| 98 |
- testRequires(c, DaemonIsLinux) |
|
| 99 | 94 |
var waitGroup sync.WaitGroup |
| 100 | 95 |
errChan := make(chan error, 17) |
| 101 | 96 |
|
| ... | ... |
@@ -460,7 +455,7 @@ func (s *DockerSuite) TestEventsResize(c *check.C) {
|
| 460 | 460 |
} |
| 461 | 461 |
|
| 462 | 462 |
func (s *DockerSuite) TestEventsAttach(c *check.C) {
|
| 463 |
- // TODO Windows CI: Figure out why this test fails intermittently (TP4 and TP5). |
|
| 463 |
+ // TODO Windows CI: Figure out why this test fails intermittently (TP5). |
|
| 464 | 464 |
testRequires(c, DaemonIsLinux) |
| 465 | 465 |
since := daemonTime(c).Unix() |
| 466 | 466 |
|
| ... | ... |
@@ -527,8 +522,8 @@ func (s *DockerSuite) TestEventsDefaultEmpty(c *check.C) {
|
| 527 | 527 |
|
| 528 | 528 |
// #14316 |
| 529 | 529 |
func (s *DockerRegistrySuite) TestEventsImageFilterPush(c *check.C) {
|
| 530 |
- // Problematic to port for Windows CI during TP4/TP5 timeframe while |
|
| 531 |
- // not supporting push |
|
| 530 |
+ // Problematic to port for Windows CI during TP5 timeframe until |
|
| 531 |
+ // supporting push |
|
| 532 | 532 |
testRequires(c, DaemonIsLinux) |
| 533 | 533 |
testRequires(c, Network) |
| 534 | 534 |
since := daemonTime(c).Unix() |
| ... | ... |
@@ -194,8 +194,6 @@ func (s *DockerSuite) TestLogsSince(c *check.C) {
|
| 194 | 194 |
} |
| 195 | 195 |
|
| 196 | 196 |
func (s *DockerSuite) TestLogsSinceFutureFollow(c *check.C) {
|
| 197 |
- // TODO Windows: Flakey on TP4. Enable for next technical preview. |
|
| 198 |
- testRequires(c, DaemonIsLinux) |
|
| 199 | 197 |
name := "testlogssincefuturefollow" |
| 200 | 198 |
out, _ := dockerCmd(c, "run", "-d", "--name", name, "busybox", "/bin/sh", "-c", `for i in $(seq 1 5); do echo log$i; sleep 1; done`) |
| 201 | 199 |
|
| ... | ... |
@@ -228,7 +226,7 @@ func (s *DockerSuite) TestLogsSinceFutureFollow(c *check.C) {
|
| 228 | 228 |
|
| 229 | 229 |
// Regression test for #8832 |
| 230 | 230 |
func (s *DockerSuite) TestLogsFollowSlowStdoutConsumer(c *check.C) {
|
| 231 |
- // TODO Windows: Consider enabling post-TP4. Too expensive to run on TP4 |
|
| 231 |
+ // TODO Windows: Fix this test for TP5. |
|
| 232 | 232 |
testRequires(c, DaemonIsLinux) |
| 233 | 233 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "/bin/sh", "-c", `usleep 600000;yes X | head -c 200000`) |
| 234 | 234 |
|
| ... | ... |
@@ -324,10 +324,6 @@ func (*DockerSuite) TestRmiParentImageFail(c *check.C) {
|
| 324 | 324 |
} |
| 325 | 325 |
|
| 326 | 326 |
func (s *DockerSuite) TestRmiWithParentInUse(c *check.C) {
|
| 327 |
- // TODO Windows. There is a bug either in Windows TP4, or the TP4 compatible |
|
| 328 |
- // docker which means this test fails. It has been verified to have been fixed |
|
| 329 |
- // in TP5 and docker/master, hence enable it once CI switch to TP5. |
|
| 330 |
- testRequires(c, DaemonIsLinux) |
|
| 331 | 327 |
out, _ := dockerCmd(c, "create", "busybox") |
| 332 | 328 |
cID := strings.TrimSpace(out) |
| 333 | 329 |
|
| ... | ... |
@@ -345,10 +341,6 @@ func (s *DockerSuite) TestRmiWithParentInUse(c *check.C) {
|
| 345 | 345 |
|
| 346 | 346 |
// #18873 |
| 347 | 347 |
func (s *DockerSuite) TestRmiByIDHardConflict(c *check.C) {
|
| 348 |
- // TODO Windows CI. This will work on a TP5 compatible docker which |
|
| 349 |
- // has content addressibility fixes. Do not run this on TP4 as it |
|
| 350 |
- // will end up deleting the busybox image causing subsequent tests to fail. |
|
| 351 |
- testRequires(c, DaemonIsLinux) |
|
| 352 | 348 |
dockerCmd(c, "create", "busybox") |
| 353 | 349 |
|
| 354 | 350 |
imgID := inspectField(c, "busybox:latest", "Id") |
| ... | ... |
@@ -424,7 +424,7 @@ func (s *DockerSuite) TestRunCreateVolumesInSymlinkDir2(c *check.C) {
|
| 424 | 424 |
} |
| 425 | 425 |
|
| 426 | 426 |
func (s *DockerSuite) TestRunVolumesMountedAsReadonly(c *check.C) {
|
| 427 |
- // TODO Windows (Post TP4): This test cannot run on a Windows daemon as |
|
| 427 |
+ // TODO Windows (Post TP5): This test cannot run on a Windows daemon as |
|
| 428 | 428 |
// Windows does not support read-only bind mounts. |
| 429 | 429 |
testRequires(c, DaemonIsLinux) |
| 430 | 430 |
if _, code, err := dockerCmdWithError("run", "-v", "/test:/test:ro", "busybox", "touch", "/test/somefile"); err == nil || code == 0 {
|
| ... | ... |
@@ -433,7 +433,7 @@ func (s *DockerSuite) TestRunVolumesMountedAsReadonly(c *check.C) {
|
| 433 | 433 |
} |
| 434 | 434 |
|
| 435 | 435 |
func (s *DockerSuite) TestRunVolumesFromInReadonlyModeFails(c *check.C) {
|
| 436 |
- // TODO Windows (Post TP4): This test cannot run on a Windows daemon as |
|
| 436 |
+ // TODO Windows (Post TP5): This test cannot run on a Windows daemon as |
|
| 437 | 437 |
// Windows does not support read-only bind mounts. Modified for when ro is supported. |
| 438 | 438 |
testRequires(c, DaemonIsLinux) |
| 439 | 439 |
var ( |
| ... | ... |
@@ -481,7 +481,7 @@ func (s *DockerSuite) TestRunVolumesFromInReadWriteMode(c *check.C) {
|
| 481 | 481 |
|
| 482 | 482 |
func (s *DockerSuite) TestVolumesFromGetsProperMode(c *check.C) {
|
| 483 | 483 |
// TODO Windows: This test cannot yet run on a Windows daemon as Windows does |
| 484 |
- // not support read-only bind mounts as at TP4 |
|
| 484 |
+ // not support read-only bind mounts as at TP5 |
|
| 485 | 485 |
testRequires(c, DaemonIsLinux) |
| 486 | 486 |
dockerCmd(c, "run", "--name", "parent", "-v", "/test:/test:ro", "busybox", "true") |
| 487 | 487 |
|
| ... | ... |
@@ -667,12 +667,7 @@ func (s *DockerSuite) TestRunExitCode(c *check.C) {
|
| 667 | 667 |
func (s *DockerSuite) TestRunUserDefaults(c *check.C) {
|
| 668 | 668 |
expected := "uid=0(root) gid=0(root)" |
| 669 | 669 |
if daemonPlatform == "windows" {
|
| 670 |
- // TODO Windows: Remove this check once TP4 is no longer supported. |
|
| 671 |
- if windowsDaemonKV < 14250 {
|
|
| 672 |
- expected = "uid=1000(SYSTEM) gid=1000(SYSTEM)" |
|
| 673 |
- } else {
|
|
| 674 |
- expected = "uid=1000(ContainerAdministrator) gid=1000(ContainerAdministrator)" |
|
| 675 |
- } |
|
| 670 |
+ expected = "uid=1000(ContainerAdministrator) gid=1000(ContainerAdministrator)" |
|
| 676 | 671 |
} |
| 677 | 672 |
out, _ := dockerCmd(c, "run", "busybox", "id") |
| 678 | 673 |
if !strings.Contains(out, expected) {
|
| ... | ... |
@@ -750,18 +745,9 @@ func (s *DockerSuite) TestRunUserNotFound(c *check.C) {
|
| 750 | 750 |
} |
| 751 | 751 |
|
| 752 | 752 |
func (s *DockerSuite) TestRunTwoConcurrentContainers(c *check.C) {
|
| 753 |
- // TODO Windows. There are two bugs in TP4 which means this test cannot |
|
| 754 |
- // be reliably enabled. The first is a race condition where sometimes |
|
| 755 |
- // HCS CreateComputeSystem() will fail "Invalid class string". #4985252 and |
|
| 756 |
- // #4493430. |
|
| 757 |
- // |
|
| 758 |
- // The second, which is seen more readily by increasing the number of concurrent |
|
| 759 |
- // containers to 5 or more, is that CSRSS hangs. This may fixed in the TP4 ZDP. |
|
| 760 |
- // #4898773. |
|
| 761 |
- testRequires(c, DaemonIsLinux) |
|
| 762 | 753 |
sleepTime := "2" |
| 763 | 754 |
if daemonPlatform == "windows" {
|
| 764 |
- sleepTime = "5" // Make more reliable on Windows |
|
| 755 |
+ sleepTime = "20" // Make more reliable on Windows |
|
| 765 | 756 |
} |
| 766 | 757 |
group := sync.WaitGroup{}
|
| 767 | 758 |
group.Add(2) |
| ... | ... |
@@ -1688,7 +1674,7 @@ func (s *DockerSuite) TestRunCopyVolumeUidGid(c *check.C) {
|
| 1688 | 1688 |
|
| 1689 | 1689 |
// Test for #1582 |
| 1690 | 1690 |
func (s *DockerSuite) TestRunCopyVolumeContent(c *check.C) {
|
| 1691 |
- // TODO Windows, post TP4. Windows does not yet support volume functionality |
|
| 1691 |
+ // TODO Windows, post TP5. Windows does not yet support volume functionality |
|
| 1692 | 1692 |
// that copies from the image to the volume. |
| 1693 | 1693 |
testRequires(c, DaemonIsLinux) |
| 1694 | 1694 |
name := "testruncopyvolumecontent" |
| ... | ... |
@@ -1724,12 +1710,7 @@ func (s *DockerSuite) TestRunCleanupCmdOnEntrypoint(c *check.C) {
|
| 1724 | 1724 |
out = strings.TrimSpace(out) |
| 1725 | 1725 |
expected := "root" |
| 1726 | 1726 |
if daemonPlatform == "windows" {
|
| 1727 |
- // TODO Windows: Remove this check once TP4 is no longer supported. |
|
| 1728 |
- if windowsDaemonKV < 14250 {
|
|
| 1729 |
- expected = `nt authority\system` |
|
| 1730 |
- } else {
|
|
| 1731 |
- expected = `user manager\containeradministrator` |
|
| 1732 |
- } |
|
| 1727 |
+ expected = `user manager\containeradministrator` |
|
| 1733 | 1728 |
} |
| 1734 | 1729 |
if out != expected {
|
| 1735 | 1730 |
c.Fatalf("Expected output %s, got %q", expected, out)
|
| ... | ... |
@@ -1924,7 +1905,7 @@ func (s *DockerSuite) TestRunBindMounts(c *check.C) {
|
| 1924 | 1924 |
defer os.RemoveAll(tmpDir) |
| 1925 | 1925 |
writeFile(path.Join(tmpDir, "touch-me"), "", c) |
| 1926 | 1926 |
|
| 1927 |
- // TODO Windows Post TP4. Windows does not yet support :ro binds |
|
| 1927 |
+ // TODO Windows Post TP5. Windows does not yet support :ro binds |
|
| 1928 | 1928 |
if daemonPlatform != "windows" {
|
| 1929 | 1929 |
// Test reading from a read-only bind mount |
| 1930 | 1930 |
out, _ := dockerCmd(c, "run", "-v", fmt.Sprintf("%s:/tmp:ro", tmpDir), "busybox", "ls", "/tmp")
|
| ... | ... |
@@ -2114,7 +2095,7 @@ func (s *DockerSuite) TestRunAllocatePortInReservedRange(c *check.C) {
|
| 2114 | 2114 |
|
| 2115 | 2115 |
// Regression test for #7792 |
| 2116 | 2116 |
func (s *DockerSuite) TestRunMountOrdering(c *check.C) {
|
| 2117 |
- // TODO Windows: Post TP4. Updated, but Windows does not support nested mounts currently. |
|
| 2117 |
+ // TODO Windows: Post TP5. Updated, but Windows does not support nested mounts currently. |
|
| 2118 | 2118 |
testRequires(c, SameHostDaemon, DaemonIsLinux, NotUserNamespace) |
| 2119 | 2119 |
prefix, _ := getPrefixAndSlashFromDaemonPlatform() |
| 2120 | 2120 |
|
| ... | ... |
@@ -2206,7 +2187,7 @@ func (s *DockerSuite) TestRunCreateVolumeEtc(c *check.C) {
|
| 2206 | 2206 |
} |
| 2207 | 2207 |
|
| 2208 | 2208 |
func (s *DockerSuite) TestVolumesNoCopyData(c *check.C) {
|
| 2209 |
- // TODO Windows (Post TP4). Windows does not support volumes which |
|
| 2209 |
+ // TODO Windows (Post TP5). Windows does not support volumes which |
|
| 2210 | 2210 |
// are pre-populated such as is built in the dockerfile used in this test. |
| 2211 | 2211 |
testRequires(c, DaemonIsLinux) |
| 2212 | 2212 |
if _, err := buildImage("dataimage",
|
| ... | ... |
@@ -3077,7 +3058,7 @@ func (s *DockerSuite) TestRunCapAddCHOWN(c *check.C) {
|
| 3077 | 3077 |
|
| 3078 | 3078 |
// https://github.com/docker/docker/pull/14498 |
| 3079 | 3079 |
func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) {
|
| 3080 |
- // TODO Windows post TP4. Enable the read-only bits once they are |
|
| 3080 |
+ // TODO Windows post TP5. Enable the read-only bits once they are |
|
| 3081 | 3081 |
// supported on the platform. |
| 3082 | 3082 |
prefix, slash := getPrefixAndSlashFromDaemonPlatform() |
| 3083 | 3083 |
|
| ... | ... |
@@ -690,7 +690,7 @@ func (s *DockerSuite) TestRunWithShmSize(c *check.C) {
|
| 690 | 690 |
} |
| 691 | 691 |
|
| 692 | 692 |
func (s *DockerSuite) TestRunTmpfsMounts(c *check.C) {
|
| 693 |
- // TODO Windows (Post TP4): This test cannot run on a Windows daemon as |
|
| 693 |
+ // TODO Windows (Post TP5): This test cannot run on a Windows daemon as |
|
| 694 | 694 |
// Windows does not support tmpfs mounts. |
| 695 | 695 |
testRequires(c, DaemonIsLinux) |
| 696 | 696 |
if out, _, err := dockerCmdWithError("run", "--tmpfs", "/run", "busybox", "touch", "/run/somefile"); err != nil {
|
| ... | ... |
@@ -100,9 +100,6 @@ func (s *DockerSuite) TestTagExistedNameWithForce(c *check.C) {
|
| 100 | 100 |
} |
| 101 | 101 |
|
| 102 | 102 |
func (s *DockerSuite) TestTagWithPrefixHyphen(c *check.C) {
|
| 103 |
- // TODO Windows CI. This fails on TP4 docker, but has since been fixed. |
|
| 104 |
- // Enable these tests for TP5. |
|
| 105 |
- testRequires(c, DaemonIsLinux) |
|
| 106 | 103 |
// Don't attempt to pull on Windows as not in hub. It's installed |
| 107 | 104 |
// as an image through .ensure-frozen-images-windows |
| 108 | 105 |
if daemonPlatform != "windows" {
|
| ... | ... |
@@ -129,9 +126,6 @@ func (s *DockerSuite) TestTagWithPrefixHyphen(c *check.C) {
|
| 129 | 129 |
// ensure tagging using official names works |
| 130 | 130 |
// ensure all tags result in the same name |
| 131 | 131 |
func (s *DockerSuite) TestTagOfficialNames(c *check.C) {
|
| 132 |
- // TODO Windows CI. This fails on TP4 docker, but has since been fixed. |
|
| 133 |
- // Enable these tests for TP5. |
|
| 134 |
- testRequires(c, DaemonIsLinux) |
|
| 135 | 132 |
names := []string{
|
| 136 | 133 |
"docker.io/busybox", |
| 137 | 134 |
"index.docker.io/busybox", |
| ... | ... |
@@ -169,10 +163,6 @@ func (s *DockerSuite) TestTagOfficialNames(c *check.C) {
|
| 169 | 169 |
|
| 170 | 170 |
// ensure tags can not match digests |
| 171 | 171 |
func (s *DockerSuite) TestTagMatchesDigest(c *check.C) {
|
| 172 |
- // TODO Windows CI. This can be enabled for TP5, but will fail on TP4. |
|
| 173 |
- // This is due to the content addressibility changes which are not |
|
| 174 |
- // in the TP4 version of Docker. |
|
| 175 |
- testRequires(c, DaemonIsLinux) |
|
| 176 | 172 |
// Don't attempt to pull on Windows as not in hub. It's installed |
| 177 | 173 |
// as an image through .ensure-frozen-images-windows |
| 178 | 174 |
if daemonPlatform != "windows" {
|
| ... | ... |
@@ -194,9 +184,6 @@ func (s *DockerSuite) TestTagMatchesDigest(c *check.C) {
|
| 194 | 194 |
} |
| 195 | 195 |
|
| 196 | 196 |
func (s *DockerSuite) TestTagInvalidRepoName(c *check.C) {
|
| 197 |
- // TODO Windows CI. This can be enabled for TP5, but will fail on the |
|
| 198 |
- // TP4 version of docker. |
|
| 199 |
- testRequires(c, DaemonIsLinux) |
|
| 200 | 197 |
// Don't attempt to pull on Windows as not in hub. It's installed |
| 201 | 198 |
// as an image through .ensure-frozen-images-windows |
| 202 | 199 |
if daemonPlatform != "windows" {
|
| ... | ... |
@@ -40,8 +40,8 @@ var ( |
| 40 | 40 |
|
| 41 | 41 |
// windowsDaemonKV is used on Windows to distinguish between different |
| 42 | 42 |
// versions. This is necessary to enable certain tests based on whether |
| 43 |
- // the platform supports it. For example, Windows Server 2016 TP3 does |
|
| 44 |
- // not support volumes, but TP4 does. |
|
| 43 |
+ // the platform supports it. For example, Windows Server 2016 TP3 did |
|
| 44 |
+ // not support volumes, but TP4 did. |
|
| 45 | 45 |
windowsDaemonKV int |
| 46 | 46 |
|
| 47 | 47 |
// daemonDefaultImage is the name of the default image to use when running |
| ... | ... |
@@ -18,7 +18,7 @@ func TestParseMountSpec(t *testing.T) {
|
| 18 | 18 |
`d:`, |
| 19 | 19 |
`d:\path`, |
| 20 | 20 |
`d:\path with space`, |
| 21 |
- // TODO Windows post TP4 - readonly support `d:\pathandmode:ro`, |
|
| 21 |
+ // TODO Windows post TP5 - readonly support `d:\pathandmode:ro`, |
|
| 22 | 22 |
`c:\:d:\`, |
| 23 | 23 |
`c:\windows\:d:`, |
| 24 | 24 |
`c:\windows:d:\s p a c e`, |
| ... | ... |
@@ -29,9 +29,9 @@ func TestParseMountSpec(t *testing.T) {
|
| 29 | 29 |
`name:D:`, |
| 30 | 30 |
`name:D::rW`, |
| 31 | 31 |
`name:D::RW`, |
| 32 |
- // TODO Windows post TP4 - readonly support `name:D::RO`, |
|
| 32 |
+ // TODO Windows post TP5 - readonly support `name:D::RO`, |
|
| 33 | 33 |
`c:/:d:/forward/slashes/are/good/too`, |
| 34 |
- // TODO Windows post TP4 - readonly support `c:/:d:/including with/spaces:ro`, |
|
| 34 |
+ // TODO Windows post TP5 - readonly support `c:/:d:/including with/spaces:ro`, |
|
| 35 | 35 |
`c:\Windows`, // With capital |
| 36 | 36 |
`c:\Program Files (x86)`, // With capitals and brackets |
| 37 | 37 |
} |
| ... | ... |
@@ -152,12 +152,12 @@ func TestParseMountSpecSplit(t *testing.T) {
|
| 152 | 152 |
cases = []testParseMountSpec{
|
| 153 | 153 |
{`c:\:d:`, "local", `d:`, `c:\`, ``, "", true, false},
|
| 154 | 154 |
{`c:\:d:\`, "local", `d:\`, `c:\`, ``, "", true, false},
|
| 155 |
- // TODO Windows post TP4 - Add readonly support {`c:\:d:\:ro`, "local", `d:\`, `c:\`, ``, "", false, false},
|
|
| 155 |
+ // TODO Windows post TP5 - Add readonly support {`c:\:d:\:ro`, "local", `d:\`, `c:\`, ``, "", false, false},
|
|
| 156 | 156 |
{`c:\:d:\:rw`, "local", `d:\`, `c:\`, ``, "", true, false},
|
| 157 | 157 |
{`c:\:d:\:foo`, "local", `d:\`, `c:\`, ``, "", false, true},
|
| 158 | 158 |
{`name:d::rw`, "local", `d:`, ``, `name`, "local", true, false},
|
| 159 | 159 |
{`name:d:`, "local", `d:`, ``, `name`, "local", true, false},
|
| 160 |
- // TODO Windows post TP4 - Add readonly support {`name:d::ro`, "local", `d:`, ``, `name`, "local", false, false},
|
|
| 160 |
+ // TODO Windows post TP5 - Add readonly support {`name:d::ro`, "local", `d:`, ``, `name`, "local", false, false},
|
|
| 161 | 161 |
{`name:c:`, "", ``, ``, ``, "", true, true},
|
| 162 | 162 |
{`driver/name:c:`, "", ``, ``, ``, "", true, true},
|
| 163 | 163 |
} |