Browse code

Sixth set of TestBuild CI Enabling for Windows

Signed-off-by: Darren Stahl <darst@microsoft.com>

Darren Stahl authored on 2016/02/12 09:20:27
Showing 1 changed files
... ...
@@ -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