Signed-off-by: Darren Stahl <darst@microsoft.com>
| ... | ... |
@@ -5505,8 +5505,6 @@ func (s *DockerSuite) TestBuildEmptyScratch(c *check.C) {
|
| 5505 | 5505 |
} |
| 5506 | 5506 |
|
| 5507 | 5507 |
func (s *DockerSuite) TestBuildDotDotFile(c *check.C) {
|
| 5508 |
- testRequires(c, DaemonIsLinux) |
|
| 5509 |
- |
|
| 5510 | 5508 |
ctx, err := fakeContext("FROM busybox\n",
|
| 5511 | 5509 |
map[string]string{
|
| 5512 | 5510 |
"..gitme": "", |
| ... | ... |
@@ -5522,7 +5520,7 @@ func (s *DockerSuite) TestBuildDotDotFile(c *check.C) {
|
| 5522 | 5522 |
} |
| 5523 | 5523 |
|
| 5524 | 5524 |
func (s *DockerSuite) TestBuildRUNoneJSON(c *check.C) {
|
| 5525 |
- testRequires(c, DaemonIsLinux) |
|
| 5525 |
+ testRequires(c, DaemonIsLinux) // No hello-world Windows image |
|
| 5526 | 5526 |
name := "testbuildrunonejson" |
| 5527 | 5527 |
|
| 5528 | 5528 |
ctx, err := fakeContext(`FROM hello-world:frozen |
| ... | ... |
@@ -5544,7 +5542,6 @@ RUN [ "/hello" ]`, map[string]string{})
|
| 5544 | 5544 |
} |
| 5545 | 5545 |
|
| 5546 | 5546 |
func (s *DockerSuite) TestBuildEmptyStringVolume(c *check.C) {
|
| 5547 |
- testRequires(c, DaemonIsLinux) |
|
| 5548 | 5547 |
name := "testbuildemptystringvolume" |
| 5549 | 5548 |
|
| 5550 | 5549 |
_, err := buildImage(name, ` |
| ... | ... |
@@ -5590,7 +5587,6 @@ RUN cat /proc/self/cgroup |
| 5590 | 5590 |
} |
| 5591 | 5591 |
|
| 5592 | 5592 |
func (s *DockerSuite) TestBuildNoDupOutput(c *check.C) {
|
| 5593 |
- testRequires(c, DaemonIsLinux) |
|
| 5594 | 5593 |
// Check to make sure our build output prints the Dockerfile cmd |
| 5595 | 5594 |
// property - there was a bug that caused it to be duplicated on the |
| 5596 | 5595 |
// Step X line |
| ... | ... |
@@ -5611,7 +5607,6 @@ func (s *DockerSuite) TestBuildNoDupOutput(c *check.C) {
|
| 5611 | 5611 |
|
| 5612 | 5612 |
// GH15826 |
| 5613 | 5613 |
func (s *DockerSuite) TestBuildStartsFromOne(c *check.C) {
|
| 5614 |
- testRequires(c, DaemonIsLinux) |
|
| 5615 | 5614 |
// Explicit check to ensure that build starts from step 1 rather than 0 |
| 5616 | 5615 |
name := "testbuildstartsfromone" |
| 5617 | 5616 |
|
| ... | ... |
@@ -5628,7 +5623,6 @@ func (s *DockerSuite) TestBuildStartsFromOne(c *check.C) {
|
| 5628 | 5628 |
} |
| 5629 | 5629 |
|
| 5630 | 5630 |
func (s *DockerSuite) TestBuildBadCmdFlag(c *check.C) {
|
| 5631 |
- testRequires(c, DaemonIsLinux) |
|
| 5632 | 5631 |
name := "testbuildbadcmdflag" |
| 5633 | 5632 |
|
| 5634 | 5633 |
_, out, err := buildImageWithOut(name, ` |
| ... | ... |
@@ -5645,7 +5639,6 @@ func (s *DockerSuite) TestBuildBadCmdFlag(c *check.C) {
|
| 5645 | 5645 |
} |
| 5646 | 5646 |
|
| 5647 | 5647 |
func (s *DockerSuite) TestBuildRUNErrMsg(c *check.C) {
|
| 5648 |
- testRequires(c, DaemonIsLinux) |
|
| 5649 | 5648 |
// Test to make sure the bad command is quoted with just "s and |
| 5650 | 5649 |
// not as a Go []string |
| 5651 | 5650 |
name := "testbuildbadrunerrmsg" |
| ... | ... |
@@ -5655,8 +5648,14 @@ func (s *DockerSuite) TestBuildRUNErrMsg(c *check.C) {
|
| 5655 | 5655 |
if err == nil {
|
| 5656 | 5656 |
c.Fatal("Should have failed to build")
|
| 5657 | 5657 |
} |
| 5658 |
- |
|
| 5659 |
- exp := `The command '/bin/sh -c badEXE a1 \& a2 a3' returned a non-zero code: 127` |
|
| 5658 |
+ shell := "/bin/sh -c" |
|
| 5659 |
+ exitCode := "127" |
|
| 5660 |
+ if daemonPlatform == "windows" {
|
|
| 5661 |
+ shell = "cmd /S /C" |
|
| 5662 |
+ // architectural - Windows has to start the container to determine the exe is bad, Linux does not |
|
| 5663 |
+ exitCode = "1" |
|
| 5664 |
+ } |
|
| 5665 |
+ exp := `The command '` + shell + ` badEXE a1 \& a2 a3' returned a non-zero code: ` + exitCode |
|
| 5660 | 5666 |
if !strings.Contains(out, exp) {
|
| 5661 | 5667 |
c.Fatalf("RUN doesn't have the correct output:\nGot:%s\nExpected:%s", out, exp)
|
| 5662 | 5668 |
} |
| ... | ... |
@@ -5753,15 +5752,20 @@ func (s *DockerTrustSuite) TestBuildContextDirIsSymlink(c *check.C) {
|
| 5753 | 5753 |
|
| 5754 | 5754 |
// Issue #15634: COPY fails when path starts with "null" |
| 5755 | 5755 |
func (s *DockerSuite) TestBuildNullStringInAddCopyVolume(c *check.C) {
|
| 5756 |
- testRequires(c, DaemonIsLinux) |
|
| 5757 | 5756 |
name := "testbuildnullstringinaddcopyvolume" |
| 5758 | 5757 |
|
| 5758 |
+ volName := "nullvolume" |
|
| 5759 |
+ |
|
| 5760 |
+ if daemonPlatform == "windows" {
|
|
| 5761 |
+ volName = `C:\\nullvolume` |
|
| 5762 |
+ } |
|
| 5763 |
+ |
|
| 5759 | 5764 |
ctx, err := fakeContext(` |
| 5760 | 5765 |
FROM busybox |
| 5761 | 5766 |
|
| 5762 | 5767 |
ADD null / |
| 5763 | 5768 |
COPY nullfile / |
| 5764 |
- VOLUME nullvolume |
|
| 5769 |
+ VOLUME `+volName+` |
|
| 5765 | 5770 |
`, |
| 5766 | 5771 |
map[string]string{
|
| 5767 | 5772 |
"null": "test1", |
| ... | ... |
@@ -5776,7 +5780,7 @@ func (s *DockerSuite) TestBuildNullStringInAddCopyVolume(c *check.C) {
|
| 5776 | 5776 |
} |
| 5777 | 5777 |
|
| 5778 | 5778 |
func (s *DockerSuite) TestBuildStopSignal(c *check.C) {
|
| 5779 |
- testRequires(c, DaemonIsLinux) |
|
| 5779 |
+ testRequires(c, DaemonIsLinux) // Windows does not support STOPSIGNAL yet |
|
| 5780 | 5780 |
imgName := "test_build_stop_signal" |
| 5781 | 5781 |
_, err := buildImage(imgName, |
| 5782 | 5782 |
`FROM busybox |
| ... | ... |
@@ -5798,7 +5802,7 @@ func (s *DockerSuite) TestBuildStopSignal(c *check.C) {
|
| 5798 | 5798 |
} |
| 5799 | 5799 |
|
| 5800 | 5800 |
func (s *DockerSuite) TestBuildBuildTimeArg(c *check.C) {
|
| 5801 |
- testRequires(c, DaemonIsLinux) |
|
| 5801 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5802 | 5802 |
imgName := "bldargtest" |
| 5803 | 5803 |
envKey := "foo" |
| 5804 | 5804 |
envVal := "bar" |
| ... | ... |
@@ -5824,7 +5828,7 @@ func (s *DockerSuite) TestBuildBuildTimeArg(c *check.C) {
|
| 5824 | 5824 |
} |
| 5825 | 5825 |
|
| 5826 | 5826 |
func (s *DockerSuite) TestBuildBuildTimeArgHistory(c *check.C) {
|
| 5827 |
- testRequires(c, DaemonIsLinux) |
|
| 5827 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5828 | 5828 |
imgName := "bldargtest" |
| 5829 | 5829 |
envKey := "foo" |
| 5830 | 5830 |
envVal := "bar" |
| ... | ... |
@@ -5850,7 +5854,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgHistory(c *check.C) {
|
| 5850 | 5850 |
} |
| 5851 | 5851 |
|
| 5852 | 5852 |
func (s *DockerSuite) TestBuildBuildTimeArgCacheHit(c *check.C) {
|
| 5853 |
- testRequires(c, DaemonIsLinux) |
|
| 5853 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5854 | 5854 |
imgName := "bldargtest" |
| 5855 | 5855 |
envKey := "foo" |
| 5856 | 5856 |
envVal := "bar" |
| ... | ... |
@@ -5877,7 +5881,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgCacheHit(c *check.C) {
|
| 5877 | 5877 |
} |
| 5878 | 5878 |
|
| 5879 | 5879 |
func (s *DockerSuite) TestBuildBuildTimeArgCacheMissExtraArg(c *check.C) {
|
| 5880 |
- testRequires(c, DaemonIsLinux) |
|
| 5880 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5881 | 5881 |
imgName := "bldargtest" |
| 5882 | 5882 |
envKey := "foo" |
| 5883 | 5883 |
envVal := "bar" |
| ... | ... |
@@ -5909,7 +5913,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgCacheMissExtraArg(c *check.C) {
|
| 5909 | 5909 |
} |
| 5910 | 5910 |
|
| 5911 | 5911 |
func (s *DockerSuite) TestBuildBuildTimeArgCacheMissSameArgDiffVal(c *check.C) {
|
| 5912 |
- testRequires(c, DaemonIsLinux) |
|
| 5912 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5913 | 5913 |
imgName := "bldargtest" |
| 5914 | 5914 |
envKey := "foo" |
| 5915 | 5915 |
envVal := "bar" |
| ... | ... |
@@ -5941,7 +5945,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgCacheMissSameArgDiffVal(c *check.C) {
|
| 5941 | 5941 |
} |
| 5942 | 5942 |
|
| 5943 | 5943 |
func (s *DockerSuite) TestBuildBuildTimeArgOverrideArgDefinedBeforeEnv(c *check.C) {
|
| 5944 |
- testRequires(c, DaemonIsLinux) |
|
| 5944 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5945 | 5945 |
imgName := "bldargtest" |
| 5946 | 5946 |
envKey := "foo" |
| 5947 | 5947 |
envVal := "bar" |
| ... | ... |
@@ -5970,7 +5974,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgOverrideArgDefinedBeforeEnv(c *check. |
| 5970 | 5970 |
} |
| 5971 | 5971 |
|
| 5972 | 5972 |
func (s *DockerSuite) TestBuildBuildTimeArgOverrideEnvDefinedBeforeArg(c *check.C) {
|
| 5973 |
- testRequires(c, DaemonIsLinux) |
|
| 5973 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 5974 | 5974 |
imgName := "bldargtest" |
| 5975 | 5975 |
envKey := "foo" |
| 5976 | 5976 |
envVal := "bar" |
| ... | ... |
@@ -5999,7 +6003,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgOverrideEnvDefinedBeforeArg(c *check. |
| 5999 | 5999 |
} |
| 6000 | 6000 |
|
| 6001 | 6001 |
func (s *DockerSuite) TestBuildBuildTimeArgExpansion(c *check.C) {
|
| 6002 |
- testRequires(c, DaemonIsLinux) |
|
| 6002 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6003 | 6003 |
imgName := "bldvarstest" |
| 6004 | 6004 |
|
| 6005 | 6005 |
wdVar := "WDIR" |
| ... | ... |
@@ -6094,7 +6098,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgExpansion(c *check.C) {
|
| 6094 | 6094 |
} |
| 6095 | 6095 |
|
| 6096 | 6096 |
func (s *DockerSuite) TestBuildBuildTimeArgExpansionOverride(c *check.C) {
|
| 6097 |
- testRequires(c, DaemonIsLinux) |
|
| 6097 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6098 | 6098 |
imgName := "bldvarstest" |
| 6099 | 6099 |
envKey := "foo" |
| 6100 | 6100 |
envVal := "bar" |
| ... | ... |
@@ -6124,7 +6128,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgExpansionOverride(c *check.C) {
|
| 6124 | 6124 |
} |
| 6125 | 6125 |
|
| 6126 | 6126 |
func (s *DockerSuite) TestBuildBuildTimeArgUntrustedDefinedAfterUse(c *check.C) {
|
| 6127 |
- testRequires(c, DaemonIsLinux) |
|
| 6127 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6128 | 6128 |
imgName := "bldargtest" |
| 6129 | 6129 |
envKey := "foo" |
| 6130 | 6130 |
envVal := "bar" |
| ... | ... |
@@ -6150,7 +6154,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgUntrustedDefinedAfterUse(c *check.C) |
| 6150 | 6150 |
} |
| 6151 | 6151 |
|
| 6152 | 6152 |
func (s *DockerSuite) TestBuildBuildTimeArgBuiltinArg(c *check.C) {
|
| 6153 |
- testRequires(c, DaemonIsLinux) |
|
| 6153 |
+ testRequires(c, DaemonIsLinux) // Windows does not support --build-arg |
|
| 6154 | 6154 |
imgName := "bldargtest" |
| 6155 | 6155 |
envKey := "HTTP_PROXY" |
| 6156 | 6156 |
envVal := "bar" |
| ... | ... |
@@ -6175,7 +6179,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgBuiltinArg(c *check.C) {
|
| 6175 | 6175 |
} |
| 6176 | 6176 |
|
| 6177 | 6177 |
func (s *DockerSuite) TestBuildBuildTimeArgDefaultOverride(c *check.C) {
|
| 6178 |
- testRequires(c, DaemonIsLinux) |
|
| 6178 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6179 | 6179 |
imgName := "bldargtest" |
| 6180 | 6180 |
envKey := "foo" |
| 6181 | 6181 |
envVal := "bar" |
| ... | ... |
@@ -6203,7 +6207,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgDefaultOverride(c *check.C) {
|
| 6203 | 6203 |
} |
| 6204 | 6204 |
|
| 6205 | 6205 |
func (s *DockerSuite) TestBuildBuildTimeArgMultiArgsSameLine(c *check.C) {
|
| 6206 |
- testRequires(c, DaemonIsLinux) |
|
| 6206 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6207 | 6207 |
imgName := "bldargtest" |
| 6208 | 6208 |
envKey := "foo" |
| 6209 | 6209 |
envKey1 := "foo1" |
| ... | ... |
@@ -6220,7 +6224,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgMultiArgsSameLine(c *check.C) {
|
| 6220 | 6220 |
} |
| 6221 | 6221 |
|
| 6222 | 6222 |
func (s *DockerSuite) TestBuildBuildTimeArgUnconsumedArg(c *check.C) {
|
| 6223 |
- testRequires(c, DaemonIsLinux) |
|
| 6223 |
+ testRequires(c, DaemonIsLinux) // Windows does not support --build-arg |
|
| 6224 | 6224 |
imgName := "bldargtest" |
| 6225 | 6225 |
envKey := "foo" |
| 6226 | 6226 |
envVal := "bar" |
| ... | ... |
@@ -6241,7 +6245,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgUnconsumedArg(c *check.C) {
|
| 6241 | 6241 |
} |
| 6242 | 6242 |
|
| 6243 | 6243 |
func (s *DockerSuite) TestBuildBuildTimeArgQuotedValVariants(c *check.C) {
|
| 6244 |
- testRequires(c, DaemonIsLinux) |
|
| 6244 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6245 | 6245 |
imgName := "bldargtest" |
| 6246 | 6246 |
envKey := "foo" |
| 6247 | 6247 |
envKey1 := "foo1" |
| ... | ... |
@@ -6267,7 +6271,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgQuotedValVariants(c *check.C) {
|
| 6267 | 6267 |
} |
| 6268 | 6268 |
|
| 6269 | 6269 |
func (s *DockerSuite) TestBuildBuildTimeArgEmptyValVariants(c *check.C) {
|
| 6270 |
- testRequires(c, DaemonIsLinux) |
|
| 6270 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6271 | 6271 |
imgName := "bldargtest" |
| 6272 | 6272 |
envKey := "foo" |
| 6273 | 6273 |
envKey1 := "foo1" |
| ... | ... |
@@ -6287,7 +6291,7 @@ func (s *DockerSuite) TestBuildBuildTimeArgEmptyValVariants(c *check.C) {
|
| 6287 | 6287 |
} |
| 6288 | 6288 |
|
| 6289 | 6289 |
func (s *DockerSuite) TestBuildBuildTimeArgDefintionWithNoEnvInjection(c *check.C) {
|
| 6290 |
- testRequires(c, DaemonIsLinux) |
|
| 6290 |
+ testRequires(c, DaemonIsLinux) // Windows does not support ARG |
|
| 6291 | 6291 |
imgName := "bldargtest" |
| 6292 | 6292 |
envKey := "foo" |
| 6293 | 6293 |
args := []string{}
|
| ... | ... |
@@ -6304,11 +6308,15 @@ func (s *DockerSuite) TestBuildBuildTimeArgDefintionWithNoEnvInjection(c *check. |
| 6304 | 6304 |
} |
| 6305 | 6305 |
|
| 6306 | 6306 |
func (s *DockerSuite) TestBuildNoNamedVolume(c *check.C) {
|
| 6307 |
- testRequires(c, DaemonIsLinux) |
|
| 6308 |
- dockerCmd(c, "run", "-v", "testname:/foo", "busybox", "sh", "-c", "touch /foo/oops") |
|
| 6307 |
+ volName := "testname:/foo" |
|
| 6308 |
+ |
|
| 6309 |
+ if daemonPlatform == "windows" {
|
|
| 6310 |
+ volName = "testname:C:\\foo" |
|
| 6311 |
+ } |
|
| 6312 |
+ dockerCmd(c, "run", "-v", volName, "busybox", "sh", "-c", "touch /foo/oops") |
|
| 6309 | 6313 |
|
| 6310 | 6314 |
dockerFile := `FROM busybox |
| 6311 |
- VOLUME testname:/foo |
|
| 6315 |
+ VOLUME ` + volName + ` |
|
| 6312 | 6316 |
RUN ls /foo/oops |
| 6313 | 6317 |
` |
| 6314 | 6318 |
_, err := buildImage("test", dockerFile, false)
|
| ... | ... |
@@ -6316,8 +6324,6 @@ func (s *DockerSuite) TestBuildNoNamedVolume(c *check.C) {
|
| 6316 | 6316 |
} |
| 6317 | 6317 |
|
| 6318 | 6318 |
func (s *DockerSuite) TestBuildTagEvent(c *check.C) {
|
| 6319 |
- testRequires(c, DaemonIsLinux) |
|
| 6320 |
- |
|
| 6321 | 6319 |
since := daemonTime(c).Unix() |
| 6322 | 6320 |
|
| 6323 | 6321 |
dockerFile := `FROM busybox |
| ... | ... |
@@ -6485,7 +6491,6 @@ func (s *DockerSuite) TestBuildSymlinkBasename(c *check.C) {
|
| 6485 | 6485 |
|
| 6486 | 6486 |
// #17827 |
| 6487 | 6487 |
func (s *DockerSuite) TestBuildCacheRootSource(c *check.C) {
|
| 6488 |
- testRequires(c, DaemonIsLinux) |
|
| 6489 | 6488 |
name := "testbuildrootsource" |
| 6490 | 6489 |
ctx, err := fakeContext(` |
| 6491 | 6490 |
FROM busybox |