1. Replace raw `docker inspect -f xxx` with `inspectField`, to make code
cleaner and more consistent
2. assert the error in function `inspectField*` so we don't need to
assert the return value of it every time, this will make inspect easier.
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
... | ... |
@@ -520,8 +520,7 @@ func (s *DockerSuite) TestContainerApiCommit(c *check.C) { |
520 | 520 |
var img resp |
521 | 521 |
c.Assert(json.Unmarshal(b, &img), checker.IsNil) |
522 | 522 |
|
523 |
- cmd, err := inspectField(img.ID, "Config.Cmd") |
|
524 |
- c.Assert(err, checker.IsNil) |
|
523 |
+ cmd := inspectField(c, img.ID, "Config.Cmd") |
|
525 | 524 |
c.Assert(cmd, checker.Equals, "{[/bin/sh -c touch /test]}", check.Commentf("got wrong Cmd from commit: %q", cmd)) |
526 | 525 |
|
527 | 526 |
// sanity check, make sure the image is what we think it is |
... | ... |
@@ -547,16 +546,13 @@ func (s *DockerSuite) TestContainerApiCommitWithLabelInConfig(c *check.C) { |
547 | 547 |
var img resp |
548 | 548 |
c.Assert(json.Unmarshal(b, &img), checker.IsNil) |
549 | 549 |
|
550 |
- label1, err := inspectFieldMap(img.ID, "Config.Labels", "key1") |
|
551 |
- c.Assert(err, checker.IsNil) |
|
550 |
+ label1 := inspectFieldMap(c, img.ID, "Config.Labels", "key1") |
|
552 | 551 |
c.Assert(label1, checker.Equals, "value1") |
553 | 552 |
|
554 |
- label2, err := inspectFieldMap(img.ID, "Config.Labels", "key2") |
|
555 |
- c.Assert(err, checker.IsNil) |
|
553 |
+ label2 := inspectFieldMap(c, img.ID, "Config.Labels", "key2") |
|
556 | 554 |
c.Assert(label2, checker.Equals, "value2") |
557 | 555 |
|
558 |
- cmd, err := inspectField(img.ID, "Config.Cmd") |
|
559 |
- c.Assert(err, checker.IsNil) |
|
556 |
+ cmd := inspectField(c, img.ID, "Config.Cmd") |
|
560 | 557 |
c.Assert(cmd, checker.Equals, "{[/bin/sh -c touch /test]}", check.Commentf("got wrong Cmd from commit: %q", cmd)) |
561 | 558 |
|
562 | 559 |
// sanity check, make sure the image is what we think it is |
... | ... |
@@ -751,12 +747,10 @@ func (s *DockerSuite) TestContainerApiCreateWithCpuSharesCpuset(c *check.C) { |
751 | 751 |
|
752 | 752 |
c.Assert(json.Unmarshal(body, &containerJSON), checker.IsNil) |
753 | 753 |
|
754 |
- out, err := inspectField(containerJSON.ID, "HostConfig.CpuShares") |
|
755 |
- c.Assert(err, checker.IsNil) |
|
754 |
+ out := inspectField(c, containerJSON.ID, "HostConfig.CpuShares") |
|
756 | 755 |
c.Assert(out, checker.Equals, "512") |
757 | 756 |
|
758 |
- outCpuset, errCpuset := inspectField(containerJSON.ID, "HostConfig.CpusetCpus") |
|
759 |
- c.Assert(errCpuset, checker.IsNil, check.Commentf("Output: %s", outCpuset)) |
|
757 |
+ outCpuset := inspectField(c, containerJSON.ID, "HostConfig.CpusetCpus") |
|
760 | 758 |
c.Assert(outCpuset, checker.Equals, "0") |
761 | 759 |
} |
762 | 760 |
|
... | ... |
@@ -853,16 +847,13 @@ func (s *DockerSuite) TestContainerApiPostCreateNull(c *check.C) { |
853 | 853 |
} |
854 | 854 |
var container createResp |
855 | 855 |
c.Assert(json.Unmarshal(b, &container), checker.IsNil) |
856 |
- out, err := inspectField(container.ID, "HostConfig.CpusetCpus") |
|
857 |
- c.Assert(err, checker.IsNil) |
|
856 |
+ out := inspectField(c, container.ID, "HostConfig.CpusetCpus") |
|
858 | 857 |
c.Assert(out, checker.Equals, "") |
859 | 858 |
|
860 |
- outMemory, errMemory := inspectField(container.ID, "HostConfig.Memory") |
|
859 |
+ outMemory := inspectField(c, container.ID, "HostConfig.Memory") |
|
861 | 860 |
c.Assert(outMemory, checker.Equals, "0") |
862 |
- c.Assert(errMemory, checker.IsNil) |
|
863 |
- outMemorySwap, errMemorySwap := inspectField(container.ID, "HostConfig.MemorySwap") |
|
861 |
+ outMemorySwap := inspectField(c, container.ID, "HostConfig.MemorySwap") |
|
864 | 862 |
c.Assert(outMemorySwap, checker.Equals, "0") |
865 |
- c.Assert(errMemorySwap, checker.IsNil) |
|
866 | 863 |
} |
867 | 864 |
|
868 | 865 |
func (s *DockerSuite) TestCreateWithTooLowMemoryLimit(c *check.C) { |
... | ... |
@@ -917,7 +908,7 @@ func (s *DockerSuite) TestContainerApiRename(c *check.C) { |
917 | 917 |
// 204 No Content is expected, not 200 |
918 | 918 |
c.Assert(statusCode, checker.Equals, http.StatusNoContent) |
919 | 919 |
|
920 |
- name, err := inspectField(containerID, "Name") |
|
920 |
+ name := inspectField(c, containerID, "Name") |
|
921 | 921 |
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container")) |
922 | 922 |
} |
923 | 923 |
|
... | ... |
@@ -929,8 +920,7 @@ func (s *DockerSuite) TestContainerApiKill(c *check.C) { |
929 | 929 |
c.Assert(err, checker.IsNil) |
930 | 930 |
c.Assert(status, checker.Equals, http.StatusNoContent) |
931 | 931 |
|
932 |
- state, err := inspectField(name, "State.Running") |
|
933 |
- c.Assert(err, checker.IsNil) |
|
932 |
+ state := inspectField(c, name, "State.Running") |
|
934 | 933 |
c.Assert(state, checker.Equals, "false", check.Commentf("got wrong State from container %s: %q", name, state)) |
935 | 934 |
} |
936 | 935 |
|
... | ... |
@@ -1134,16 +1124,14 @@ func (s *DockerSuite) TestContainerApiDeleteRemoveLinks(c *check.C) { |
1134 | 1134 |
id2 := strings.TrimSpace(out) |
1135 | 1135 |
c.Assert(waitRun(id2), checker.IsNil) |
1136 | 1136 |
|
1137 |
- links, err := inspectFieldJSON(id2, "HostConfig.Links") |
|
1138 |
- c.Assert(err, checker.IsNil) |
|
1137 |
+ links := inspectFieldJSON(c, id2, "HostConfig.Links") |
|
1139 | 1138 |
c.Assert(links, checker.Equals, "[\"/tlink1:/tlink2/tlink1\"]", check.Commentf("expected to have links between containers")) |
1140 | 1139 |
|
1141 | 1140 |
status, b, err := sockRequest("DELETE", "/containers/tlink2/tlink1?link=1", nil) |
1142 | 1141 |
c.Assert(err, check.IsNil) |
1143 | 1142 |
c.Assert(status, check.Equals, http.StatusNoContent, check.Commentf(string(b))) |
1144 | 1143 |
|
1145 |
- linksPostRm, err := inspectFieldJSON(id2, "HostConfig.Links") |
|
1146 |
- c.Assert(err, checker.IsNil) |
|
1144 |
+ linksPostRm := inspectFieldJSON(c, id2, "HostConfig.Links") |
|
1147 | 1145 |
c.Assert(linksPostRm, checker.Equals, "null", check.Commentf("call to api deleteContainer links should have removed the specified links")) |
1148 | 1146 |
} |
1149 | 1147 |
|
... | ... |
@@ -1208,8 +1196,7 @@ func (s *DockerSuite) TestContainerApiChunkedEncoding(c *check.C) { |
1208 | 1208 |
resp.Body.Close() |
1209 | 1209 |
c.Assert(resp.StatusCode, checker.Equals, 204) |
1210 | 1210 |
|
1211 |
- out, err = inspectFieldJSON(id, "HostConfig.Binds") |
|
1212 |
- c.Assert(err, checker.IsNil) |
|
1211 |
+ out = inspectFieldJSON(c, id, "HostConfig.Binds") |
|
1213 | 1212 |
|
1214 | 1213 |
var binds []string |
1215 | 1214 |
c.Assert(json.NewDecoder(strings.NewReader(out)).Decode(&binds), checker.IsNil) |
... | ... |
@@ -1308,8 +1295,7 @@ func (s *DockerSuite) TestPostContainersStartWithoutLinksInHostConfig(c *check.C |
1308 | 1308 |
name := "test-host-config-links" |
1309 | 1309 |
dockerCmd(c, append([]string{"create", "--name", name, "busybox"}, defaultSleepCommand...)...) |
1310 | 1310 |
|
1311 |
- hc, err := inspectFieldJSON(name, "HostConfig") |
|
1312 |
- c.Assert(err, checker.IsNil) |
|
1311 |
+ hc := inspectFieldJSON(c, name, "HostConfig") |
|
1313 | 1312 |
config := `{"HostConfig":` + hc + `}` |
1314 | 1313 |
|
1315 | 1314 |
res, b, err := sockRequestRaw("POST", "/containers/"+name+"/start", strings.NewReader(config), "application/json") |
... | ... |
@@ -1327,8 +1313,7 @@ func (s *DockerSuite) TestPostContainersStartWithLinksInHostConfig(c *check.C) { |
1327 | 1327 |
dockerCmd(c, "run", "--name", "foo", "-d", "busybox", "top") |
1328 | 1328 |
dockerCmd(c, "create", "--name", name, "--link", "foo:bar", "busybox", "top") |
1329 | 1329 |
|
1330 |
- hc, err := inspectFieldJSON(name, "HostConfig") |
|
1331 |
- c.Assert(err, checker.IsNil) |
|
1330 |
+ hc := inspectFieldJSON(c, name, "HostConfig") |
|
1332 | 1331 |
config := `{"HostConfig":` + hc + `}` |
1333 | 1332 |
|
1334 | 1333 |
res, b, err := sockRequestRaw("POST", "/containers/"+name+"/start", strings.NewReader(config), "application/json") |
... | ... |
@@ -1346,8 +1331,7 @@ func (s *DockerSuite) TestPostContainersStartWithLinksInHostConfigIdLinked(c *ch |
1346 | 1346 |
id := strings.TrimSpace(out) |
1347 | 1347 |
dockerCmd(c, "create", "--name", name, "--link", id, "busybox", "top") |
1348 | 1348 |
|
1349 |
- hc, err := inspectFieldJSON(name, "HostConfig") |
|
1350 |
- c.Assert(err, checker.IsNil) |
|
1349 |
+ hc := inspectFieldJSON(c, name, "HostConfig") |
|
1351 | 1350 |
config := `{"HostConfig":` + hc + `}` |
1352 | 1351 |
|
1353 | 1352 |
res, b, err := sockRequestRaw("POST", "/containers/"+name+"/start", strings.NewReader(config), "application/json") |
... | ... |
@@ -1448,8 +1432,7 @@ func (s *DockerSuite) TestStartWithNilDNS(c *check.C) { |
1448 | 1448 |
c.Assert(res.StatusCode, checker.Equals, http.StatusNoContent) |
1449 | 1449 |
b.Close() |
1450 | 1450 |
|
1451 |
- dns, err := inspectFieldJSON(containerID, "HostConfig.Dns") |
|
1452 |
- c.Assert(err, checker.IsNil) |
|
1451 |
+ dns := inspectFieldJSON(c, containerID, "HostConfig.Dns") |
|
1453 | 1452 |
c.Assert(dns, checker.Equals, "[]") |
1454 | 1453 |
} |
1455 | 1454 |
|
... | ... |
@@ -67,7 +67,7 @@ func (s *DockerSuite) TestApiImagesSaveAndLoad(c *check.C) { |
67 | 67 |
defer loadBody.Close() |
68 | 68 |
c.Assert(res.StatusCode, checker.Equals, http.StatusOK) |
69 | 69 |
|
70 |
- inspectOut, _ := dockerCmd(c, "inspect", "--format='{{ .Id }}'", id) |
|
70 |
+ inspectOut := inspectField(c, id, "Id") |
|
71 | 71 |
c.Assert(strings.TrimSpace(string(inspectOut)), checker.Equals, id, check.Commentf("load did not work properly")) |
72 | 72 |
} |
73 | 73 |
|
... | ... |
@@ -23,8 +23,7 @@ func (s *DockerSuite) TestApiUpdateContainer(c *check.C) { |
23 | 23 |
_, _, err := sockRequest("POST", "/containers/"+name+"/update", hostConfig) |
24 | 24 |
c.Assert(err, check.IsNil) |
25 | 25 |
|
26 |
- memory, err := inspectField(name, "HostConfig.Memory") |
|
27 |
- c.Assert(err, check.IsNil) |
|
26 |
+ memory := inspectField(c, name, "HostConfig.Memory") |
|
28 | 27 |
if memory != "314572800" { |
29 | 28 |
c.Fatalf("Got the wrong memory value, we got %d, expected 314572800(300M).", memory) |
30 | 29 |
} |
... | ... |
@@ -32,8 +31,7 @@ func (s *DockerSuite) TestApiUpdateContainer(c *check.C) { |
32 | 32 |
out, _ := dockerCmd(c, "exec", name, "cat", file) |
33 | 33 |
c.Assert(strings.TrimSpace(out), checker.Equals, "314572800") |
34 | 34 |
|
35 |
- memorySwap, err := inspectField(name, "HostConfig.MemorySwap") |
|
36 |
- c.Assert(err, check.IsNil) |
|
35 |
+ memorySwap := inspectField(c, name, "HostConfig.MemorySwap") |
|
37 | 36 |
if memorySwap != "524288000" { |
38 | 37 |
c.Fatalf("Got the wrong memorySwap value, we got %d, expected 524288000(500M).", memorySwap) |
39 | 38 |
} |
... | ... |
@@ -147,8 +147,7 @@ func (s *DockerSuite) TestAttachDisconnect(c *check.C) { |
147 | 147 |
c.Assert(stdin.Close(), check.IsNil) |
148 | 148 |
|
149 | 149 |
// Expect container to still be running after stdin is closed |
150 |
- running, err := inspectField(id, "State.Running") |
|
151 |
- c.Assert(err, check.IsNil) |
|
150 |
+ running := inspectField(c, id, "State.Running") |
|
152 | 151 |
c.Assert(running, check.Equals, "true") |
153 | 152 |
} |
154 | 153 |
|
... | ... |
@@ -161,8 +161,7 @@ func (s *DockerSuite) TestAttachDetach(c *check.C) { |
161 | 161 |
ch <- struct{}{} |
162 | 162 |
}() |
163 | 163 |
|
164 |
- running, err := inspectField(id, "State.Running") |
|
165 |
- c.Assert(err, checker.IsNil) |
|
164 |
+ running := inspectField(c, id, "State.Running") |
|
166 | 165 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
167 | 166 |
|
168 | 167 |
go func() { |
... | ... |
@@ -214,8 +213,7 @@ func (s *DockerSuite) TestAttachDetachTruncatedID(c *check.C) { |
214 | 214 |
ch <- struct{}{} |
215 | 215 |
}() |
216 | 216 |
|
217 |
- running, err := inspectField(id, "State.Running") |
|
218 |
- c.Assert(err, checker.IsNil) |
|
217 |
+ running := inspectField(c, id, "State.Running") |
|
219 | 218 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
220 | 219 |
|
221 | 220 |
go func() { |
... | ... |
@@ -100,10 +100,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementUser(c *check.C) { |
100 | 100 |
c.Fatal(err) |
101 | 101 |
} |
102 | 102 |
|
103 |
- res, err := inspectFieldJSON(name, "Config.User") |
|
104 |
- if err != nil { |
|
105 |
- c.Fatal(err) |
|
106 |
- } |
|
103 |
+ res := inspectFieldJSON(c, name, "Config.User") |
|
107 | 104 |
|
108 | 105 |
if res != `"foo"` { |
109 | 106 |
c.Fatal("User foo from environment not in Config.User on image") |
... | ... |
@@ -124,10 +121,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementVolume(c *check.C) { |
124 | 124 |
c.Fatal(err) |
125 | 125 |
} |
126 | 126 |
|
127 |
- res, err := inspectFieldJSON(name, "Config.Volumes") |
|
128 |
- if err != nil { |
|
129 |
- c.Fatal(err) |
|
130 |
- } |
|
127 |
+ res := inspectFieldJSON(c, name, "Config.Volumes") |
|
131 | 128 |
|
132 | 129 |
var volumes map[string]interface{} |
133 | 130 |
|
... | ... |
@@ -156,10 +150,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementExpose(c *check.C) { |
156 | 156 |
c.Fatal(err) |
157 | 157 |
} |
158 | 158 |
|
159 |
- res, err := inspectFieldJSON(name, "Config.ExposedPorts") |
|
160 |
- if err != nil { |
|
161 |
- c.Fatal(err) |
|
162 |
- } |
|
159 |
+ res := inspectFieldJSON(c, name, "Config.ExposedPorts") |
|
163 | 160 |
|
164 | 161 |
var exposedPorts map[string]interface{} |
165 | 162 |
|
... | ... |
@@ -254,10 +245,7 @@ func (s *DockerSuite) TestBuildEnvironmentReplacementEnv(c *check.C) { |
254 | 254 |
c.Fatal(err) |
255 | 255 |
} |
256 | 256 |
|
257 |
- res, err := inspectFieldJSON(name, "Config.Env") |
|
258 |
- if err != nil { |
|
259 |
- c.Fatal(err) |
|
260 |
- } |
|
257 |
+ res := inspectFieldJSON(c, name, "Config.Env") |
|
261 | 258 |
|
262 | 259 |
envResult := []string{} |
263 | 260 |
|
... | ... |
@@ -315,10 +303,7 @@ func (s *DockerSuite) TestBuildHandleEscapes(c *check.C) { |
315 | 315 |
|
316 | 316 |
var result map[string]map[string]struct{} |
317 | 317 |
|
318 |
- res, err := inspectFieldJSON(name, "Config.Volumes") |
|
319 |
- if err != nil { |
|
320 |
- c.Fatal(err) |
|
321 |
- } |
|
318 |
+ res := inspectFieldJSON(c, name, "Config.Volumes") |
|
322 | 319 |
|
323 | 320 |
if err = unmarshalJSON([]byte(res), &result); err != nil { |
324 | 321 |
c.Fatal(err) |
... | ... |
@@ -341,10 +326,7 @@ func (s *DockerSuite) TestBuildHandleEscapes(c *check.C) { |
341 | 341 |
c.Fatal(err) |
342 | 342 |
} |
343 | 343 |
|
344 |
- res, err = inspectFieldJSON(name, "Config.Volumes") |
|
345 |
- if err != nil { |
|
346 |
- c.Fatal(err) |
|
347 |
- } |
|
344 |
+ res = inspectFieldJSON(c, name, "Config.Volumes") |
|
348 | 345 |
|
349 | 346 |
if err = unmarshalJSON([]byte(res), &result); err != nil { |
350 | 347 |
c.Fatal(err) |
... | ... |
@@ -371,10 +353,7 @@ func (s *DockerSuite) TestBuildHandleEscapes(c *check.C) { |
371 | 371 |
c.Fatal(err) |
372 | 372 |
} |
373 | 373 |
|
374 |
- res, err = inspectFieldJSON(name, "Config.Volumes") |
|
375 |
- if err != nil { |
|
376 |
- c.Fatal(err) |
|
377 |
- } |
|
374 |
+ res = inspectFieldJSON(c, name, "Config.Volumes") |
|
378 | 375 |
|
379 | 376 |
if err = unmarshalJSON([]byte(res), &result); err != nil { |
380 | 377 |
c.Fatal(err) |
... | ... |
@@ -1971,10 +1950,7 @@ func (s *DockerSuite) TestBuildWithVolumes(c *check.C) { |
1971 | 1971 |
if err != nil { |
1972 | 1972 |
c.Fatal(err) |
1973 | 1973 |
} |
1974 |
- res, err := inspectFieldJSON(name, "Config.Volumes") |
|
1975 |
- if err != nil { |
|
1976 |
- c.Fatal(err) |
|
1977 |
- } |
|
1974 |
+ res := inspectFieldJSON(c, name, "Config.Volumes") |
|
1978 | 1975 |
|
1979 | 1976 |
err = unmarshalJSON([]byte(res), &result) |
1980 | 1977 |
if err != nil { |
... | ... |
@@ -2000,10 +1976,7 @@ func (s *DockerSuite) TestBuildMaintainer(c *check.C) { |
2000 | 2000 |
if err != nil { |
2001 | 2001 |
c.Fatal(err) |
2002 | 2002 |
} |
2003 |
- res, err := inspectField(name, "Author") |
|
2004 |
- if err != nil { |
|
2005 |
- c.Fatal(err) |
|
2006 |
- } |
|
2003 |
+ res := inspectField(c, name, "Author") |
|
2007 | 2004 |
if res != expected { |
2008 | 2005 |
c.Fatalf("Maintainer %s, expected %s", res, expected) |
2009 | 2006 |
} |
... | ... |
@@ -2022,10 +1995,7 @@ func (s *DockerSuite) TestBuildUser(c *check.C) { |
2022 | 2022 |
if err != nil { |
2023 | 2023 |
c.Fatal(err) |
2024 | 2024 |
} |
2025 |
- res, err := inspectField(name, "Config.User") |
|
2026 |
- if err != nil { |
|
2027 |
- c.Fatal(err) |
|
2028 |
- } |
|
2025 |
+ res := inspectField(c, name, "Config.User") |
|
2029 | 2026 |
if res != expected { |
2030 | 2027 |
c.Fatalf("User %s, expected %s", res, expected) |
2031 | 2028 |
} |
... | ... |
@@ -2048,10 +2018,7 @@ func (s *DockerSuite) TestBuildRelativeWorkdir(c *check.C) { |
2048 | 2048 |
if err != nil { |
2049 | 2049 |
c.Fatal(err) |
2050 | 2050 |
} |
2051 |
- res, err := inspectField(name, "Config.WorkingDir") |
|
2052 |
- if err != nil { |
|
2053 |
- c.Fatal(err) |
|
2054 |
- } |
|
2051 |
+ res := inspectField(c, name, "Config.WorkingDir") |
|
2055 | 2052 |
if res != expected { |
2056 | 2053 |
c.Fatalf("Workdir %s, expected %s", res, expected) |
2057 | 2054 |
} |
... | ... |
@@ -2071,10 +2038,7 @@ func (s *DockerSuite) TestBuildWorkdirWithEnvVariables(c *check.C) { |
2071 | 2071 |
if err != nil { |
2072 | 2072 |
c.Fatal(err) |
2073 | 2073 |
} |
2074 |
- res, err := inspectField(name, "Config.WorkingDir") |
|
2075 |
- if err != nil { |
|
2076 |
- c.Fatal(err) |
|
2077 |
- } |
|
2074 |
+ res := inspectField(c, name, "Config.WorkingDir") |
|
2078 | 2075 |
if res != expected { |
2079 | 2076 |
c.Fatalf("Workdir %s, expected %s", res, expected) |
2080 | 2077 |
} |
... | ... |
@@ -2134,10 +2098,7 @@ func (s *DockerSuite) TestBuildEnv(c *check.C) { |
2134 | 2134 |
if err != nil { |
2135 | 2135 |
c.Fatal(err) |
2136 | 2136 |
} |
2137 |
- res, err := inspectField(name, "Config.Env") |
|
2138 |
- if err != nil { |
|
2139 |
- c.Fatal(err) |
|
2140 |
- } |
|
2137 |
+ res := inspectField(c, name, "Config.Env") |
|
2141 | 2138 |
if res != expected { |
2142 | 2139 |
c.Fatalf("Env %s, expected %s", res, expected) |
2143 | 2140 |
} |
... | ... |
@@ -2152,8 +2113,7 @@ func (s *DockerSuite) TestBuildPATH(c *check.C) { |
2152 | 2152 |
_, err := buildImage("testbldpath", dockerfile, true) |
2153 | 2153 |
c.Assert(err, check.IsNil) |
2154 | 2154 |
|
2155 |
- res, err := inspectField("testbldpath", "Config.Env") |
|
2156 |
- c.Assert(err, check.IsNil) |
|
2155 |
+ res := inspectField(c, "testbldpath", "Config.Env") |
|
2157 | 2156 |
|
2158 | 2157 |
if res != exp { |
2159 | 2158 |
c.Fatalf("Env %q, expected %q for dockerfile:%q", res, exp, dockerfile) |
... | ... |
@@ -2239,10 +2199,7 @@ func (s *DockerSuite) TestBuildCmd(c *check.C) { |
2239 | 2239 |
if err != nil { |
2240 | 2240 |
c.Fatal(err) |
2241 | 2241 |
} |
2242 |
- res, err := inspectField(name, "Config.Cmd") |
|
2243 |
- if err != nil { |
|
2244 |
- c.Fatal(err) |
|
2245 |
- } |
|
2242 |
+ res := inspectField(c, name, "Config.Cmd") |
|
2246 | 2243 |
if res != expected { |
2247 | 2244 |
c.Fatalf("Cmd %s, expected %s", res, expected) |
2248 | 2245 |
} |
... | ... |
@@ -2259,10 +2216,7 @@ func (s *DockerSuite) TestBuildExpose(c *check.C) { |
2259 | 2259 |
if err != nil { |
2260 | 2260 |
c.Fatal(err) |
2261 | 2261 |
} |
2262 |
- res, err := inspectField(name, "Config.ExposedPorts") |
|
2263 |
- if err != nil { |
|
2264 |
- c.Fatal(err) |
|
2265 |
- } |
|
2262 |
+ res := inspectField(c, name, "Config.ExposedPorts") |
|
2266 | 2263 |
if res != expected { |
2267 | 2264 |
c.Fatalf("Exposed ports %s, expected %s", res, expected) |
2268 | 2265 |
} |
... | ... |
@@ -2301,10 +2255,7 @@ func (s *DockerSuite) TestBuildExposeMorePorts(c *check.C) { |
2301 | 2301 |
} |
2302 | 2302 |
|
2303 | 2303 |
// check if all the ports are saved inside Config.ExposedPorts |
2304 |
- res, err := inspectFieldJSON(name, "Config.ExposedPorts") |
|
2305 |
- if err != nil { |
|
2306 |
- c.Fatal(err) |
|
2307 |
- } |
|
2304 |
+ res := inspectFieldJSON(c, name, "Config.ExposedPorts") |
|
2308 | 2305 |
var exposedPorts map[string]interface{} |
2309 | 2306 |
if err := json.Unmarshal([]byte(res), &exposedPorts); err != nil { |
2310 | 2307 |
c.Fatal(err) |
... | ... |
@@ -2331,10 +2282,7 @@ func (s *DockerSuite) TestBuildExposeOrder(c *check.C) { |
2331 | 2331 |
if err != nil { |
2332 | 2332 |
c.Fatal(err) |
2333 | 2333 |
} |
2334 |
- id, err := inspectField(name, "Id") |
|
2335 |
- if err != nil { |
|
2336 |
- c.Fatal(err) |
|
2337 |
- } |
|
2334 |
+ id := inspectField(c, name, "Id") |
|
2338 | 2335 |
return id |
2339 | 2336 |
} |
2340 | 2337 |
|
... | ... |
@@ -2356,10 +2304,7 @@ func (s *DockerSuite) TestBuildExposeUpperCaseProto(c *check.C) { |
2356 | 2356 |
if err != nil { |
2357 | 2357 |
c.Fatal(err) |
2358 | 2358 |
} |
2359 |
- res, err := inspectField(name, "Config.ExposedPorts") |
|
2360 |
- if err != nil { |
|
2361 |
- c.Fatal(err) |
|
2362 |
- } |
|
2359 |
+ res := inspectField(c, name, "Config.ExposedPorts") |
|
2363 | 2360 |
if res != expected { |
2364 | 2361 |
c.Fatalf("Exposed ports %s, expected %s", res, expected) |
2365 | 2362 |
} |
... | ... |
@@ -2377,10 +2322,7 @@ func (s *DockerSuite) TestBuildEmptyEntrypointInheritance(c *check.C) { |
2377 | 2377 |
if err != nil { |
2378 | 2378 |
c.Fatal(err) |
2379 | 2379 |
} |
2380 |
- res, err := inspectField(name, "Config.Entrypoint") |
|
2381 |
- if err != nil { |
|
2382 |
- c.Fatal(err) |
|
2383 |
- } |
|
2380 |
+ res := inspectField(c, name, "Config.Entrypoint") |
|
2384 | 2381 |
|
2385 | 2382 |
expected := "{[/bin/echo]}" |
2386 | 2383 |
if res != expected { |
... | ... |
@@ -2394,10 +2336,7 @@ func (s *DockerSuite) TestBuildEmptyEntrypointInheritance(c *check.C) { |
2394 | 2394 |
if err != nil { |
2395 | 2395 |
c.Fatal(err) |
2396 | 2396 |
} |
2397 |
- res, err = inspectField(name2, "Config.Entrypoint") |
|
2398 |
- if err != nil { |
|
2399 |
- c.Fatal(err) |
|
2400 |
- } |
|
2397 |
+ res = inspectField(c, name2, "Config.Entrypoint") |
|
2401 | 2398 |
|
2402 | 2399 |
expected = "{[]}" |
2403 | 2400 |
|
... | ... |
@@ -2419,10 +2358,7 @@ func (s *DockerSuite) TestBuildEmptyEntrypoint(c *check.C) { |
2419 | 2419 |
if err != nil { |
2420 | 2420 |
c.Fatal(err) |
2421 | 2421 |
} |
2422 |
- res, err := inspectField(name, "Config.Entrypoint") |
|
2423 |
- if err != nil { |
|
2424 |
- c.Fatal(err) |
|
2425 |
- } |
|
2422 |
+ res := inspectField(c, name, "Config.Entrypoint") |
|
2426 | 2423 |
if res != expected { |
2427 | 2424 |
c.Fatalf("Entrypoint %s, expected %s", res, expected) |
2428 | 2425 |
} |
... | ... |
@@ -2440,10 +2376,7 @@ func (s *DockerSuite) TestBuildEntrypoint(c *check.C) { |
2440 | 2440 |
if err != nil { |
2441 | 2441 |
c.Fatal(err) |
2442 | 2442 |
} |
2443 |
- res, err := inspectField(name, "Config.Entrypoint") |
|
2444 |
- if err != nil { |
|
2445 |
- c.Fatal(err) |
|
2446 |
- } |
|
2443 |
+ res := inspectField(c, name, "Config.Entrypoint") |
|
2447 | 2444 |
if res != expected { |
2448 | 2445 |
c.Fatalf("Entrypoint %s, expected %s", res, expected) |
2449 | 2446 |
} |
... | ... |
@@ -3123,10 +3056,7 @@ func (s *DockerSuite) TestBuildEntrypointRunCleanup(c *check.C) { |
3123 | 3123 |
if _, err := buildImageFromContext(name, ctx, true); err != nil { |
3124 | 3124 |
c.Fatal(err) |
3125 | 3125 |
} |
3126 |
- res, err := inspectField(name, "Config.Cmd") |
|
3127 |
- if err != nil { |
|
3128 |
- c.Fatal(err) |
|
3129 |
- } |
|
3126 |
+ res := inspectField(c, name, "Config.Cmd") |
|
3130 | 3127 |
// Cmd must be cleaned up |
3131 | 3128 |
if res != "<nil>" { |
3132 | 3129 |
c.Fatalf("Cmd %s, expected nil", res) |
... | ... |
@@ -3185,10 +3115,7 @@ func (s *DockerSuite) TestBuildInheritance(c *check.C) { |
3185 | 3185 |
if err != nil { |
3186 | 3186 |
c.Fatal(err) |
3187 | 3187 |
} |
3188 |
- ports1, err := inspectField(name, "Config.ExposedPorts") |
|
3189 |
- if err != nil { |
|
3190 |
- c.Fatal(err) |
|
3191 |
- } |
|
3188 |
+ ports1 := inspectField(c, name, "Config.ExposedPorts") |
|
3192 | 3189 |
|
3193 | 3190 |
_, err = buildImage(name, |
3194 | 3191 |
fmt.Sprintf(`FROM %s |
... | ... |
@@ -3198,17 +3125,11 @@ func (s *DockerSuite) TestBuildInheritance(c *check.C) { |
3198 | 3198 |
c.Fatal(err) |
3199 | 3199 |
} |
3200 | 3200 |
|
3201 |
- res, err := inspectField(name, "Config.Entrypoint") |
|
3202 |
- if err != nil { |
|
3203 |
- c.Fatal(err) |
|
3204 |
- } |
|
3201 |
+ res := inspectField(c, name, "Config.Entrypoint") |
|
3205 | 3202 |
if expected := "{[/bin/echo]}"; res != expected { |
3206 | 3203 |
c.Fatalf("Entrypoint %s, expected %s", res, expected) |
3207 | 3204 |
} |
3208 |
- ports2, err := inspectField(name, "Config.ExposedPorts") |
|
3209 |
- if err != nil { |
|
3210 |
- c.Fatal(err) |
|
3211 |
- } |
|
3205 |
+ ports2 := inspectField(c, name, "Config.ExposedPorts") |
|
3212 | 3206 |
if ports1 != ports2 { |
3213 | 3207 |
c.Fatalf("Ports must be same: %s != %s", ports1, ports2) |
3214 | 3208 |
} |
... | ... |
@@ -3345,11 +3266,7 @@ docker.com>" |
3345 | 3345 |
c.Fatal(err) |
3346 | 3346 |
} |
3347 | 3347 |
|
3348 |
- res, err := inspectField(name, "Author") |
|
3349 |
- |
|
3350 |
- if err != nil { |
|
3351 |
- c.Fatal(err) |
|
3352 |
- } |
|
3348 |
+ res := inspectField(c, name, "Author") |
|
3353 | 3349 |
|
3354 | 3350 |
if res != "\"Docker IO <io@docker.com>\"" { |
3355 | 3351 |
c.Fatalf("Parsed string did not match the escaped string. Got: %q", res) |
... | ... |
@@ -4318,10 +4235,7 @@ func (s *DockerSuite) TestBuildFromGIT(c *check.C) { |
4318 | 4318 |
if err != nil { |
4319 | 4319 |
c.Fatal(err) |
4320 | 4320 |
} |
4321 |
- res, err := inspectField(name, "Author") |
|
4322 |
- if err != nil { |
|
4323 |
- c.Fatal(err) |
|
4324 |
- } |
|
4321 |
+ res := inspectField(c, name, "Author") |
|
4325 | 4322 |
if res != "docker" { |
4326 | 4323 |
c.Fatalf("Maintainer should be docker, got %s", res) |
4327 | 4324 |
} |
... | ... |
@@ -4347,10 +4261,7 @@ func (s *DockerSuite) TestBuildFromGITWithContext(c *check.C) { |
4347 | 4347 |
if err != nil { |
4348 | 4348 |
c.Fatal(err) |
4349 | 4349 |
} |
4350 |
- res, err := inspectField(name, "Author") |
|
4351 |
- if err != nil { |
|
4352 |
- c.Fatal(err) |
|
4353 |
- } |
|
4350 |
+ res := inspectField(c, name, "Author") |
|
4354 | 4351 |
if res != "docker" { |
4355 | 4352 |
c.Fatalf("Maintainer should be docker, got %s", res) |
4356 | 4353 |
} |
... | ... |
@@ -4411,8 +4322,7 @@ func (s *DockerSuite) TestBuildFromRemoteTarball(c *check.C) { |
4411 | 4411 |
_, err = buildImageFromPath(name, server.URL()+"/testT.tar", true) |
4412 | 4412 |
c.Assert(err, check.IsNil) |
4413 | 4413 |
|
4414 |
- res, err := inspectField(name, "Author") |
|
4415 |
- c.Assert(err, check.IsNil) |
|
4414 |
+ res := inspectField(c, name, "Author") |
|
4416 | 4415 |
|
4417 | 4416 |
if res != "docker" { |
4418 | 4417 |
c.Fatalf("Maintainer should be docker, got %s", res) |
... | ... |
@@ -4435,18 +4345,12 @@ func (s *DockerSuite) TestBuildCleanupCmdOnEntrypoint(c *check.C) { |
4435 | 4435 |
true); err != nil { |
4436 | 4436 |
c.Fatal(err) |
4437 | 4437 |
} |
4438 |
- res, err := inspectField(name, "Config.Cmd") |
|
4439 |
- if err != nil { |
|
4440 |
- c.Fatal(err) |
|
4441 |
- } |
|
4438 |
+ res := inspectField(c, name, "Config.Cmd") |
|
4442 | 4439 |
if res != "<nil>" { |
4443 | 4440 |
c.Fatalf("Cmd %s, expected nil", res) |
4444 | 4441 |
} |
4445 | 4442 |
|
4446 |
- res, err = inspectField(name, "Config.Entrypoint") |
|
4447 |
- if err != nil { |
|
4448 |
- c.Fatal(err) |
|
4449 |
- } |
|
4443 |
+ res = inspectField(c, name, "Config.Entrypoint") |
|
4450 | 4444 |
if expected := "{[cat]}"; res != expected { |
4451 | 4445 |
c.Fatalf("Entrypoint %s, expected %s", res, expected) |
4452 | 4446 |
} |
... | ... |
@@ -4463,10 +4367,7 @@ func (s *DockerSuite) TestBuildClearCmd(c *check.C) { |
4463 | 4463 |
if err != nil { |
4464 | 4464 |
c.Fatal(err) |
4465 | 4465 |
} |
4466 |
- res, err := inspectFieldJSON(name, "Config.Cmd") |
|
4467 |
- if err != nil { |
|
4468 |
- c.Fatal(err) |
|
4469 |
- } |
|
4466 |
+ res := inspectFieldJSON(c, name, "Config.Cmd") |
|
4470 | 4467 |
if res != "[]" { |
4471 | 4468 |
c.Fatalf("Cmd %s, expected %s", res, "[]") |
4472 | 4469 |
} |
... | ... |
@@ -4478,10 +4379,7 @@ func (s *DockerSuite) TestBuildEmptyCmd(c *check.C) { |
4478 | 4478 |
if _, err := buildImage(name, "FROM scratch\nMAINTAINER quux\n", true); err != nil { |
4479 | 4479 |
c.Fatal(err) |
4480 | 4480 |
} |
4481 |
- res, err := inspectFieldJSON(name, "Config.Cmd") |
|
4482 |
- if err != nil { |
|
4483 |
- c.Fatal(err) |
|
4484 |
- } |
|
4481 |
+ res := inspectFieldJSON(c, name, "Config.Cmd") |
|
4485 | 4482 |
if res != "null" { |
4486 | 4483 |
c.Fatalf("Cmd %s, expected %s", res, "null") |
4487 | 4484 |
} |
... | ... |
@@ -4522,10 +4420,7 @@ func (s *DockerSuite) TestBuildCmdShDashC(c *check.C) { |
4522 | 4522 |
c.Fatal(err) |
4523 | 4523 |
} |
4524 | 4524 |
|
4525 |
- res, err := inspectFieldJSON(name, "Config.Cmd") |
|
4526 |
- if err != nil { |
|
4527 |
- c.Fatal(err, res) |
|
4528 |
- } |
|
4525 |
+ res := inspectFieldJSON(c, name, "Config.Cmd") |
|
4529 | 4526 |
|
4530 | 4527 |
expected := `["/bin/sh","-c","echo cmd"]` |
4531 | 4528 |
|
... | ... |
@@ -4579,10 +4474,7 @@ func (s *DockerSuite) TestBuildCmdJSONNoShDashC(c *check.C) { |
4579 | 4579 |
c.Fatal(err) |
4580 | 4580 |
} |
4581 | 4581 |
|
4582 |
- res, err := inspectFieldJSON(name, "Config.Cmd") |
|
4583 |
- if err != nil { |
|
4584 |
- c.Fatal(err, res) |
|
4585 |
- } |
|
4582 |
+ res := inspectFieldJSON(c, name, "Config.Cmd") |
|
4586 | 4583 |
|
4587 | 4584 |
expected := `["echo","cmd"]` |
4588 | 4585 |
|
... | ... |
@@ -4646,10 +4538,7 @@ func (s *DockerSuite) TestBuildEntrypointInheritanceInspect(c *check.C) { |
4646 | 4646 |
c.Fatal(err) |
4647 | 4647 |
} |
4648 | 4648 |
|
4649 |
- res, err := inspectFieldJSON(name2, "Config.Entrypoint") |
|
4650 |
- if err != nil { |
|
4651 |
- c.Fatal(err, res) |
|
4652 |
- } |
|
4649 |
+ res := inspectFieldJSON(c, name2, "Config.Entrypoint") |
|
4653 | 4650 |
|
4654 | 4651 |
if res != expected { |
4655 | 4652 |
c.Fatalf("Expected value %s not in Config.Entrypoint: %s", expected, res) |
... | ... |
@@ -4756,10 +4645,7 @@ func (s *DockerSuite) TestBuildWithTabs(c *check.C) { |
4756 | 4756 |
if err != nil { |
4757 | 4757 |
c.Fatal(err) |
4758 | 4758 |
} |
4759 |
- res, err := inspectFieldJSON(name, "ContainerConfig.Cmd") |
|
4760 |
- if err != nil { |
|
4761 |
- c.Fatal(err) |
|
4762 |
- } |
|
4759 |
+ res := inspectFieldJSON(c, name, "ContainerConfig.Cmd") |
|
4763 | 4760 |
expected1 := `["/bin/sh","-c","echo\tone\t\ttwo"]` |
4764 | 4761 |
expected2 := `["/bin/sh","-c","echo\u0009one\u0009\u0009two"]` // syntactically equivalent, and what Go 1.3 generates |
4765 | 4762 |
if res != expected1 && res != expected2 { |
... | ... |
@@ -4779,10 +4665,7 @@ func (s *DockerSuite) TestBuildLabels(c *check.C) { |
4779 | 4779 |
if err != nil { |
4780 | 4780 |
c.Fatal(err) |
4781 | 4781 |
} |
4782 |
- res, err := inspectFieldJSON(name, "Config.Labels") |
|
4783 |
- if err != nil { |
|
4784 |
- c.Fatal(err) |
|
4785 |
- } |
|
4782 |
+ res := inspectFieldJSON(c, name, "Config.Labels") |
|
4786 | 4783 |
if res != expected { |
4787 | 4784 |
c.Fatalf("Labels %s, expected %s", res, expected) |
4788 | 4785 |
} |
... | ... |
@@ -5869,8 +5752,7 @@ func (s *DockerSuite) TestBuildStopSignal(c *check.C) { |
5869 | 5869 |
STOPSIGNAL SIGKILL`, |
5870 | 5870 |
true) |
5871 | 5871 |
c.Assert(err, check.IsNil) |
5872 |
- res, err := inspectFieldJSON(name, "Config.StopSignal") |
|
5873 |
- c.Assert(err, check.IsNil) |
|
5872 |
+ res := inspectFieldJSON(c, name, "Config.StopSignal") |
|
5874 | 5873 |
|
5875 | 5874 |
if res != `"SIGKILL"` { |
5876 | 5875 |
c.Fatalf("Signal %s, expected SIGKILL", res) |
... | ... |
@@ -6138,18 +6020,12 @@ func (s *DockerSuite) TestBuildBuildTimeArgExpansion(c *check.C) { |
6138 | 6138 |
var resMap map[string]interface{} |
6139 | 6139 |
var resArr []string |
6140 | 6140 |
res := "" |
6141 |
- res, err = inspectField(imgName, "Config.WorkingDir") |
|
6142 |
- if err != nil { |
|
6143 |
- c.Fatal(err) |
|
6144 |
- } |
|
6141 |
+ res = inspectField(c, imgName, "Config.WorkingDir") |
|
6145 | 6142 |
if res != filepath.ToSlash(filepath.Clean(wdVal)) { |
6146 | 6143 |
c.Fatalf("Config.WorkingDir value mismatch. Expected: %s, got: %s", filepath.ToSlash(filepath.Clean(wdVal)), res) |
6147 | 6144 |
} |
6148 | 6145 |
|
6149 |
- err = inspectFieldAndMarshall(imgName, "Config.Env", &resArr) |
|
6150 |
- if err != nil { |
|
6151 |
- c.Fatal(err) |
|
6152 |
- } |
|
6146 |
+ inspectFieldAndMarshall(c, imgName, "Config.Env", &resArr) |
|
6153 | 6147 |
|
6154 | 6148 |
found := false |
6155 | 6149 |
for _, v := range resArr { |
... | ... |
@@ -6163,26 +6039,17 @@ func (s *DockerSuite) TestBuildBuildTimeArgExpansion(c *check.C) { |
6163 | 6163 |
envVar, envVal, resArr) |
6164 | 6164 |
} |
6165 | 6165 |
|
6166 |
- err = inspectFieldAndMarshall(imgName, "Config.ExposedPorts", &resMap) |
|
6167 |
- if err != nil { |
|
6168 |
- c.Fatal(err) |
|
6169 |
- } |
|
6166 |
+ inspectFieldAndMarshall(c, imgName, "Config.ExposedPorts", &resMap) |
|
6170 | 6167 |
if _, ok := resMap[fmt.Sprintf("%s/tcp", exposeVal)]; !ok { |
6171 | 6168 |
c.Fatalf("Config.ExposedPorts value mismatch. Expected exposed port: %s/tcp, got: %v", exposeVal, resMap) |
6172 | 6169 |
} |
6173 | 6170 |
|
6174 |
- res, err = inspectField(imgName, "Config.User") |
|
6175 |
- if err != nil { |
|
6176 |
- c.Fatal(err) |
|
6177 |
- } |
|
6171 |
+ res = inspectField(c, imgName, "Config.User") |
|
6178 | 6172 |
if res != userVal { |
6179 | 6173 |
c.Fatalf("Config.User value mismatch. Expected: %s, got: %s", userVal, res) |
6180 | 6174 |
} |
6181 | 6175 |
|
6182 |
- err = inspectFieldAndMarshall(imgName, "Config.Volumes", &resMap) |
|
6183 |
- if err != nil { |
|
6184 |
- c.Fatal(err) |
|
6185 |
- } |
|
6176 |
+ inspectFieldAndMarshall(c, imgName, "Config.Volumes", &resMap) |
|
6186 | 6177 |
if _, ok := resMap[volVal]; !ok { |
6187 | 6178 |
c.Fatalf("Config.Volumes value mismatch. Expected volume: %s, got: %v", volVal, resMap) |
6188 | 6179 |
} |
... | ... |
@@ -47,8 +47,7 @@ func (s *DockerSuite) TestBuildResourceConstraintsAreUsed(c *check.C) { |
47 | 47 |
Ulimits []*units.Ulimit |
48 | 48 |
} |
49 | 49 |
|
50 |
- cfg, err := inspectFieldJSON(cID, "HostConfig") |
|
51 |
- c.Assert(err, checker.IsNil) |
|
50 |
+ cfg := inspectFieldJSON(c, cID, "HostConfig") |
|
52 | 51 |
|
53 | 52 |
var c1 hostConfig |
54 | 53 |
err = json.Unmarshal([]byte(cfg), &c1) |
... | ... |
@@ -66,8 +65,7 @@ func (s *DockerSuite) TestBuildResourceConstraintsAreUsed(c *check.C) { |
66 | 66 |
// Make sure constraints aren't saved to image |
67 | 67 |
dockerCmd(c, "run", "--name=test", name) |
68 | 68 |
|
69 |
- cfg, err = inspectFieldJSON("test", "HostConfig") |
|
70 |
- c.Assert(err, checker.IsNil) |
|
69 |
+ cfg = inspectFieldJSON(c, "test", "HostConfig") |
|
71 | 70 |
|
72 | 71 |
var c2 hostConfig |
73 | 72 |
err = json.Unmarshal([]byte(cfg), &c2) |
... | ... |
@@ -132,10 +132,9 @@ func (s *DockerRegistrySuite) TestCreateByDigest(c *check.C) { |
132 | 132 |
imageReference := fmt.Sprintf("%s@%s", repoName, pushDigest) |
133 | 133 |
|
134 | 134 |
containerName := "createByDigest" |
135 |
- out, _ := dockerCmd(c, "create", "--name", containerName, imageReference) |
|
135 |
+ dockerCmd(c, "create", "--name", containerName, imageReference) |
|
136 | 136 |
|
137 |
- res, err := inspectField(containerName, "Config.Image") |
|
138 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to get Config.Image: %s", out)) |
|
137 |
+ res := inspectField(c, containerName, "Config.Image") |
|
139 | 138 |
c.Assert(res, checker.Equals, imageReference) |
140 | 139 |
} |
141 | 140 |
|
... | ... |
@@ -153,8 +152,7 @@ func (s *DockerRegistrySuite) TestRunByDigest(c *check.C) { |
153 | 153 |
c.Assert(matches, checker.HasLen, 2, check.Commentf("unable to parse digest from pull output: %s", out)) |
154 | 154 |
c.Assert(matches[1], checker.Equals, "1", check.Commentf("Expected %q, got %q", "1", matches[1])) |
155 | 155 |
|
156 |
- res, err := inspectField(containerName, "Config.Image") |
|
157 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to get Config.Image: %s", out)) |
|
156 |
+ res := inspectField(c, containerName, "Config.Image") |
|
158 | 157 |
c.Assert(res, checker.Equals, imageReference) |
159 | 158 |
} |
160 | 159 |
|
... | ... |
@@ -168,15 +166,14 @@ func (s *DockerRegistrySuite) TestRemoveImageByDigest(c *check.C) { |
168 | 168 |
dockerCmd(c, "pull", imageReference) |
169 | 169 |
|
170 | 170 |
// make sure inspect runs ok |
171 |
- _, err = inspectField(imageReference, "Id") |
|
172 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to inspect image")) |
|
171 |
+ inspectField(c, imageReference, "Id") |
|
173 | 172 |
|
174 | 173 |
// do the delete |
175 | 174 |
err = deleteImages(imageReference) |
176 | 175 |
c.Assert(err, checker.IsNil, check.Commentf("unexpected error deleting image")) |
177 | 176 |
|
178 | 177 |
// try to inspect again - it should error this time |
179 |
- _, err = inspectField(imageReference, "Id") |
|
178 |
+ _, err = inspectFieldWithError(imageReference, "Id") |
|
180 | 179 |
//unexpected nil err trying to inspect what should be a non-existent image |
181 | 180 |
c.Assert(err, checker.NotNil) |
182 | 181 |
c.Assert(err.Error(), checker.Contains, "No such image") |
... | ... |
@@ -192,8 +189,7 @@ func (s *DockerRegistrySuite) TestBuildByDigest(c *check.C) { |
192 | 192 |
dockerCmd(c, "pull", imageReference) |
193 | 193 |
|
194 | 194 |
// get the image id |
195 |
- imageID, err := inspectField(imageReference, "Id") |
|
196 |
- c.Assert(err, checker.IsNil, check.Commentf("error getting image id")) |
|
195 |
+ imageID := inspectField(c, imageReference, "Id") |
|
197 | 196 |
|
198 | 197 |
// do the build |
199 | 198 |
name := "buildbydigest" |
... | ... |
@@ -204,8 +200,7 @@ func (s *DockerRegistrySuite) TestBuildByDigest(c *check.C) { |
204 | 204 |
c.Assert(err, checker.IsNil) |
205 | 205 |
|
206 | 206 |
// get the build's image id |
207 |
- res, err := inspectField(name, "Config.Image") |
|
208 |
- c.Assert(err, checker.IsNil) |
|
207 |
+ res := inspectField(c, name, "Config.Image") |
|
209 | 208 |
// make sure they match |
210 | 209 |
c.Assert(res, checker.Equals, imageID) |
211 | 210 |
} |
... | ... |
@@ -223,11 +218,9 @@ func (s *DockerRegistrySuite) TestTagByDigest(c *check.C) { |
223 | 223 |
tag := "tagbydigest" |
224 | 224 |
dockerCmd(c, "tag", imageReference, tag) |
225 | 225 |
|
226 |
- expectedID, err := inspectField(imageReference, "Id") |
|
227 |
- c.Assert(err, checker.IsNil, check.Commentf("error getting original image id")) |
|
226 |
+ expectedID := inspectField(c, imageReference, "Id") |
|
228 | 227 |
|
229 |
- tagID, err := inspectField(tag, "Id") |
|
230 |
- c.Assert(err, checker.IsNil, check.Commentf("error getting tagged image id")) |
|
228 |
+ tagID := inspectField(c, tag, "Id") |
|
231 | 229 |
c.Assert(tagID, checker.Equals, expectedID) |
232 | 230 |
} |
233 | 231 |
|
... | ... |
@@ -389,8 +382,7 @@ func (s *DockerRegistrySuite) TestDeleteImageByIDOnlyPulledByDigest(c *check.C) |
389 | 389 |
dockerCmd(c, "pull", imageReference) |
390 | 390 |
// just in case... |
391 | 391 |
|
392 |
- imageID, err := inspectField(imageReference, "Id") |
|
393 |
- c.Assert(err, checker.IsNil, check.Commentf("error inspecting image id")) |
|
392 |
+ imageID := inspectField(c, imageReference, "Id") |
|
394 | 393 |
|
395 | 394 |
dockerCmd(c, "rmi", imageID) |
396 | 395 |
} |
... | ... |
@@ -403,8 +395,7 @@ func (s *DockerRegistrySuite) TestDeleteImageWithDigestAndTag(c *check.C) { |
403 | 403 |
imageReference := fmt.Sprintf("%s@%s", repoName, pushDigest) |
404 | 404 |
dockerCmd(c, "pull", imageReference) |
405 | 405 |
|
406 |
- imageID, err := inspectField(imageReference, "Id") |
|
407 |
- c.Assert(err, checker.IsNil, check.Commentf("error inspecting image id")) |
|
406 |
+ imageID := inspectField(c, imageReference, "Id") |
|
408 | 407 |
|
409 | 408 |
repoTag := repoName + ":sometag" |
410 | 409 |
repoTag2 := repoName + ":othertag" |
... | ... |
@@ -414,13 +405,12 @@ func (s *DockerRegistrySuite) TestDeleteImageWithDigestAndTag(c *check.C) { |
414 | 414 |
dockerCmd(c, "rmi", repoTag2) |
415 | 415 |
|
416 | 416 |
// rmi should have deleted only repoTag2, because there's another tag |
417 |
- _, err = inspectField(repoTag, "Id") |
|
418 |
- c.Assert(err, checker.IsNil, check.Commentf("repoTag should not have been removed")) |
|
417 |
+ inspectField(c, repoTag, "Id") |
|
419 | 418 |
|
420 | 419 |
dockerCmd(c, "rmi", repoTag) |
421 | 420 |
|
422 | 421 |
// rmi should have deleted the tag, the digest reference, and the image itself |
423 |
- _, err = inspectField(imageID, "Id") |
|
422 |
+ _, err = inspectFieldWithError(imageID, "Id") |
|
424 | 423 |
c.Assert(err, checker.NotNil, check.Commentf("image should have been deleted")) |
425 | 424 |
} |
426 | 425 |
|
... | ... |
@@ -49,8 +49,7 @@ func (s *DockerSuite) TestCommitPausedContainer(c *check.C) { |
49 | 49 |
|
50 | 50 |
out, _ = dockerCmd(c, "commit", cleanedContainerID) |
51 | 51 |
|
52 |
- out, err := inspectField(cleanedContainerID, "State.Paused") |
|
53 |
- c.Assert(err, checker.IsNil, check.Commentf("%s", out)) |
|
52 |
+ out = inspectField(c, cleanedContainerID, "State.Paused") |
|
54 | 53 |
// commit should not unpause a paused container |
55 | 54 |
c.Assert(out, checker.Contains, "true") |
56 | 55 |
} |
... | ... |
@@ -139,8 +138,7 @@ func (s *DockerSuite) TestCommitChange(c *check.C) { |
139 | 139 |
} |
140 | 140 |
|
141 | 141 |
for conf, value := range expected { |
142 |
- res, err := inspectField(imageID, conf) |
|
143 |
- c.Assert(err, checker.IsNil, check.Commentf("%s('%s')", conf, res)) |
|
142 |
+ res := inspectField(c, imageID, conf) |
|
144 | 143 |
if res != value { |
145 | 144 |
c.Errorf("%s('%s'), expected %s", conf, res, value) |
146 | 145 |
} |
... | ... |
@@ -165,12 +163,10 @@ func (s *DockerSuite) TestCommitMergeConfigRun(c *check.C) { |
165 | 165 |
Cmd []string |
166 | 166 |
} |
167 | 167 |
config1 := cfg{} |
168 |
- err := inspectFieldAndMarshall(id, "Config", &config1) |
|
169 |
- c.Assert(err, checker.IsNil) |
|
168 |
+ inspectFieldAndMarshall(c, id, "Config", &config1) |
|
170 | 169 |
|
171 | 170 |
config2 := cfg{} |
172 |
- err = inspectFieldAndMarshall(name, "Config", &config2) |
|
173 |
- c.Assert(err, checker.IsNil) |
|
171 |
+ inspectFieldAndMarshall(c, name, "Config", &config2) |
|
174 | 172 |
|
175 | 173 |
// Env has at least PATH loaded as well here, so let's just grab the FOO one |
176 | 174 |
var env1, env2 string |
... | ... |
@@ -178,8 +178,7 @@ func (s *DockerSuite) TestCreateLabels(c *check.C) { |
178 | 178 |
dockerCmd(c, "create", "--name", name, "-l", "k1=v1", "--label", "k2=v2", "busybox") |
179 | 179 |
|
180 | 180 |
actual := make(map[string]string) |
181 |
- err := inspectFieldAndMarshall(name, "Config.Labels", &actual) |
|
182 |
- c.Assert(err, check.IsNil) |
|
181 |
+ inspectFieldAndMarshall(c, name, "Config.Labels", &actual) |
|
183 | 182 |
|
184 | 183 |
if !reflect.DeepEqual(expected, actual) { |
185 | 184 |
c.Fatalf("Expected %s got %s", expected, actual) |
... | ... |
@@ -201,8 +200,7 @@ func (s *DockerSuite) TestCreateLabelFromImage(c *check.C) { |
201 | 201 |
dockerCmd(c, "create", "--name", name, "-l", "k2=x", "--label", "k3=v3", imageName) |
202 | 202 |
|
203 | 203 |
actual := make(map[string]string) |
204 |
- err = inspectFieldAndMarshall(name, "Config.Labels", &actual) |
|
205 |
- c.Assert(err, check.IsNil) |
|
204 |
+ inspectFieldAndMarshall(c, name, "Config.Labels", &actual) |
|
206 | 205 |
|
207 | 206 |
if !reflect.DeepEqual(expected, actual) { |
208 | 207 |
c.Fatalf("Expected %s got %s", expected, actual) |
... | ... |
@@ -411,8 +409,7 @@ func (s *DockerSuite) TestCreateStopSignal(c *check.C) { |
411 | 411 |
name := "test_create_stop_signal" |
412 | 412 |
dockerCmd(c, "create", "--name", name, "--stop-signal", "9", "busybox") |
413 | 413 |
|
414 |
- res, err := inspectFieldJSON(name, "Config.StopSignal") |
|
415 |
- c.Assert(err, check.IsNil) |
|
414 |
+ res := inspectFieldJSON(c, name, "Config.StopSignal") |
|
416 | 415 |
c.Assert(res, checker.Contains, "9") |
417 | 416 |
|
418 | 417 |
} |
... | ... |
@@ -336,8 +336,7 @@ func (s *DockerSuite) TestEventsFilterContainer(c *check.C) { |
336 | 336 |
|
337 | 337 |
for _, name := range []string{"container_1", "container_2"} { |
338 | 338 |
dockerCmd(c, "run", "--name", name, "busybox", "true") |
339 |
- id, err := inspectField(name, "Id") |
|
340 |
- c.Assert(err, checker.IsNil) |
|
339 |
+ id := inspectField(c, name, "Id") |
|
341 | 340 |
nameID[name] = id |
342 | 341 |
} |
343 | 342 |
|
... | ... |
@@ -95,8 +95,7 @@ func (s *DockerSuite) TestEventsOOMDisableTrue(c *check.C) { |
95 | 95 |
|
96 | 96 |
c.Assert(waitRun("oomTrue"), checker.IsNil) |
97 | 97 |
defer dockerCmd(c, "kill", "oomTrue") |
98 |
- containerID, err := inspectField("oomTrue", "Id") |
|
99 |
- c.Assert(err, checker.IsNil) |
|
98 |
+ containerID := inspectField(c, "oomTrue", "Id") |
|
100 | 99 |
|
101 | 100 |
testActions := map[string]chan bool{ |
102 | 101 |
"oom": make(chan bool), |
... | ... |
@@ -119,8 +118,7 @@ func (s *DockerSuite) TestEventsOOMDisableTrue(c *check.C) { |
119 | 119 |
} |
120 | 120 |
} |
121 | 121 |
|
122 |
- status, err := inspectField("oomTrue", "State.Status") |
|
123 |
- c.Assert(err, checker.IsNil) |
|
122 |
+ status := inspectField(c, "oomTrue", "State.Status") |
|
124 | 123 |
c.Assert(strings.TrimSpace(status), checker.Equals, "running", check.Commentf("container should be still running")) |
125 | 124 |
} |
126 | 125 |
|
... | ... |
@@ -288,23 +288,21 @@ func (s *DockerSuite) TestInspectExecID(c *check.C) { |
288 | 288 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "top") |
289 | 289 |
id := strings.TrimSuffix(out, "\n") |
290 | 290 |
|
291 |
- out, err := inspectField(id, "ExecIDs") |
|
292 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to inspect container: %s", out)) |
|
291 |
+ out = inspectField(c, id, "ExecIDs") |
|
293 | 292 |
c.Assert(out, checker.Equals, "[]", check.Commentf("ExecIDs should be empty, got: %s", out)) |
294 | 293 |
|
295 | 294 |
// Start an exec, have it block waiting so we can do some checking |
296 | 295 |
cmd := exec.Command(dockerBinary, "exec", id, "sh", "-c", |
297 | 296 |
"while ! test -e /tmp/execid1; do sleep 1; done") |
298 | 297 |
|
299 |
- err = cmd.Start() |
|
298 |
+ err := cmd.Start() |
|
300 | 299 |
c.Assert(err, checker.IsNil, check.Commentf("failed to start the exec cmd")) |
301 | 300 |
|
302 | 301 |
// Give the exec 10 chances/seconds to start then give up and stop the test |
303 | 302 |
tries := 10 |
304 | 303 |
for i := 0; i < tries; i++ { |
305 | 304 |
// Since its still running we should see exec as part of the container |
306 |
- out, err = inspectField(id, "ExecIDs") |
|
307 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to inspect container: %s", out)) |
|
305 |
+ out = inspectField(c, id, "ExecIDs") |
|
308 | 306 |
|
309 | 307 |
out = strings.TrimSuffix(out, "\n") |
310 | 308 |
if out != "[]" && out != "<no value>" { |
... | ... |
@@ -328,8 +326,7 @@ func (s *DockerSuite) TestInspectExecID(c *check.C) { |
328 | 328 |
cmd.Wait() |
329 | 329 |
|
330 | 330 |
// All execs for the container should be gone now |
331 |
- out, err = inspectField(id, "ExecIDs") |
|
332 |
- c.Assert(err, checker.IsNil, check.Commentf("failed to inspect container: %s", out)) |
|
331 |
+ out = inspectField(c, id, "ExecIDs") |
|
333 | 332 |
|
334 | 333 |
out = strings.TrimSuffix(out, "\n") |
335 | 334 |
c.Assert(out == "[]" || out == "<no value>", checker.True) |
... | ... |
@@ -12,11 +12,10 @@ func (s *DockerSuite) TestInspectNamedMountPoint(c *check.C) { |
12 | 12 |
testRequires(c, DaemonIsLinux) |
13 | 13 |
dockerCmd(c, "run", "-d", "--name", "test", "-v", "data:/data", "busybox", "cat") |
14 | 14 |
|
15 |
- vol, err := inspectFieldJSON("test", "Mounts") |
|
16 |
- c.Assert(err, checker.IsNil) |
|
15 |
+ vol := inspectFieldJSON(c, "test", "Mounts") |
|
17 | 16 |
|
18 | 17 |
var mp []types.MountPoint |
19 |
- err = unmarshalJSON([]byte(vol), &mp) |
|
18 |
+ err := unmarshalJSON([]byte(vol), &mp) |
|
20 | 19 |
c.Assert(err, checker.IsNil) |
21 | 20 |
|
22 | 21 |
c.Assert(mp, checker.HasLen, 1, check.Commentf("Expected 1 mount point")) |
... | ... |
@@ -29,8 +29,7 @@ func (s *DockerSuite) TestInspectImage(c *check.C) { |
29 | 29 |
// fails, fix the difference in the image serialization instead of |
30 | 30 |
// updating this hash. |
31 | 31 |
imageTestID := "sha256:11f64303f0f7ffdc71f001788132bca5346831939a956e3e975c93267d89a16d" |
32 |
- id, err := inspectField(imageTest, "Id") |
|
33 |
- c.Assert(err, checker.IsNil) |
|
32 |
+ id := inspectField(c, imageTest, "Id") |
|
34 | 33 |
|
35 | 34 |
c.Assert(id, checker.Equals, imageTestID) |
36 | 35 |
} |
... | ... |
@@ -39,8 +38,7 @@ func (s *DockerSuite) TestInspectInt64(c *check.C) { |
39 | 39 |
testRequires(c, DaemonIsLinux) |
40 | 40 |
|
41 | 41 |
dockerCmd(c, "run", "-d", "-m=300M", "--name", "inspectTest", "busybox", "true") |
42 |
- inspectOut, err := inspectField("inspectTest", "HostConfig.Memory") |
|
43 |
- c.Assert(err, check.IsNil) |
|
42 |
+ inspectOut := inspectField(c, "inspectTest", "HostConfig.Memory") |
|
44 | 43 |
c.Assert(inspectOut, checker.Equals, "314572800") |
45 | 44 |
} |
46 | 45 |
|
... | ... |
@@ -52,8 +50,7 @@ func (s *DockerSuite) TestInspectDefault(c *check.C) { |
52 | 52 |
out, _ := dockerCmd(c, "run", "--name=busybox", "-d", "busybox", "true") |
53 | 53 |
containerID := strings.TrimSpace(out) |
54 | 54 |
|
55 |
- inspectOut, err := inspectField("busybox", "Id") |
|
56 |
- c.Assert(err, checker.IsNil) |
|
55 |
+ inspectOut := inspectField(c, "busybox", "Id") |
|
57 | 56 |
c.Assert(strings.TrimSpace(inspectOut), checker.Equals, containerID) |
58 | 57 |
} |
59 | 58 |
|
... | ... |
@@ -63,23 +60,19 @@ func (s *DockerSuite) TestInspectStatus(c *check.C) { |
63 | 63 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "top") |
64 | 64 |
out = strings.TrimSpace(out) |
65 | 65 |
|
66 |
- inspectOut, err := inspectField(out, "State.Status") |
|
67 |
- c.Assert(err, checker.IsNil) |
|
66 |
+ inspectOut := inspectField(c, out, "State.Status") |
|
68 | 67 |
c.Assert(inspectOut, checker.Equals, "running") |
69 | 68 |
|
70 | 69 |
dockerCmd(c, "pause", out) |
71 |
- inspectOut, err = inspectField(out, "State.Status") |
|
72 |
- c.Assert(err, checker.IsNil) |
|
70 |
+ inspectOut = inspectField(c, out, "State.Status") |
|
73 | 71 |
c.Assert(inspectOut, checker.Equals, "paused") |
74 | 72 |
|
75 | 73 |
dockerCmd(c, "unpause", out) |
76 |
- inspectOut, err = inspectField(out, "State.Status") |
|
77 |
- c.Assert(err, checker.IsNil) |
|
74 |
+ inspectOut = inspectField(c, out, "State.Status") |
|
78 | 75 |
c.Assert(inspectOut, checker.Equals, "running") |
79 | 76 |
|
80 | 77 |
dockerCmd(c, "stop", out) |
81 |
- inspectOut, err = inspectField(out, "State.Status") |
|
82 |
- c.Assert(err, checker.IsNil) |
|
78 |
+ inspectOut = inspectField(c, out, "State.Status") |
|
83 | 79 |
c.Assert(inspectOut, checker.Equals, "exited") |
84 | 80 |
|
85 | 81 |
} |
... | ... |
@@ -137,8 +130,7 @@ func (s *DockerSuite) TestInspectTypeFlagWithInvalidValue(c *check.C) { |
137 | 137 |
func (s *DockerSuite) TestInspectImageFilterInt(c *check.C) { |
138 | 138 |
testRequires(c, DaemonIsLinux) |
139 | 139 |
imageTest := "emptyfs" |
140 |
- out, err := inspectField(imageTest, "Size") |
|
141 |
- c.Assert(err, checker.IsNil) |
|
140 |
+ out := inspectField(c, imageTest, "Size") |
|
142 | 141 |
|
143 | 142 |
size, err := strconv.Atoi(out) |
144 | 143 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect size of the image: %s, %v", out, err)) |
... | ... |
@@ -160,8 +152,7 @@ func (s *DockerSuite) TestInspectContainerFilterInt(c *check.C) { |
160 | 160 |
|
161 | 161 |
id := strings.TrimSpace(out) |
162 | 162 |
|
163 |
- out, err = inspectField(id, "State.ExitCode") |
|
164 |
- c.Assert(err, checker.IsNil) |
|
163 |
+ out = inspectField(c, id, "State.ExitCode") |
|
165 | 164 |
|
166 | 165 |
exitCode, err := strconv.Atoi(out) |
167 | 166 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect exitcode of the container: %s, %v", out, err)) |
... | ... |
@@ -177,8 +168,7 @@ func (s *DockerSuite) TestInspectContainerFilterInt(c *check.C) { |
177 | 177 |
func (s *DockerSuite) TestInspectImageGraphDriver(c *check.C) { |
178 | 178 |
testRequires(c, DaemonIsLinux) |
179 | 179 |
imageTest := "emptyfs" |
180 |
- name, err := inspectField(imageTest, "GraphDriver.Name") |
|
181 |
- c.Assert(err, checker.IsNil) |
|
180 |
+ name := inspectField(c, imageTest, "GraphDriver.Name") |
|
182 | 181 |
|
183 | 182 |
checkValidGraphDriver(c, name) |
184 | 183 |
|
... | ... |
@@ -186,14 +176,12 @@ func (s *DockerSuite) TestInspectImageGraphDriver(c *check.C) { |
186 | 186 |
c.Skip("requires devicemapper graphdriver") |
187 | 187 |
} |
188 | 188 |
|
189 |
- deviceID, err := inspectField(imageTest, "GraphDriver.Data.DeviceId") |
|
190 |
- c.Assert(err, checker.IsNil) |
|
189 |
+ deviceID := inspectField(c, imageTest, "GraphDriver.Data.DeviceId") |
|
191 | 190 |
|
192 |
- _, err = strconv.Atoi(deviceID) |
|
191 |
+ _, err := strconv.Atoi(deviceID) |
|
193 | 192 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect DeviceId of the image: %s, %v", deviceID, err)) |
194 | 193 |
|
195 |
- deviceSize, err := inspectField(imageTest, "GraphDriver.Data.DeviceSize") |
|
196 |
- c.Assert(err, checker.IsNil) |
|
194 |
+ deviceSize := inspectField(c, imageTest, "GraphDriver.Data.DeviceSize") |
|
197 | 195 |
|
198 | 196 |
_, err = strconv.ParseUint(deviceSize, 10, 64) |
199 | 197 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect DeviceSize of the image: %s, %v", deviceSize, err)) |
... | ... |
@@ -204,8 +192,7 @@ func (s *DockerSuite) TestInspectContainerGraphDriver(c *check.C) { |
204 | 204 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "true") |
205 | 205 |
out = strings.TrimSpace(out) |
206 | 206 |
|
207 |
- name, err := inspectField(out, "GraphDriver.Name") |
|
208 |
- c.Assert(err, checker.IsNil) |
|
207 |
+ name := inspectField(c, out, "GraphDriver.Name") |
|
209 | 208 |
|
210 | 209 |
checkValidGraphDriver(c, name) |
211 | 210 |
|
... | ... |
@@ -213,19 +200,16 @@ func (s *DockerSuite) TestInspectContainerGraphDriver(c *check.C) { |
213 | 213 |
return |
214 | 214 |
} |
215 | 215 |
|
216 |
- imageDeviceID, err := inspectField("busybox", "GraphDriver.Data.DeviceId") |
|
217 |
- c.Assert(err, checker.IsNil) |
|
216 |
+ imageDeviceID := inspectField(c, "busybox", "GraphDriver.Data.DeviceId") |
|
218 | 217 |
|
219 |
- deviceID, err := inspectField(out, "GraphDriver.Data.DeviceId") |
|
220 |
- c.Assert(err, checker.IsNil) |
|
218 |
+ deviceID := inspectField(c, out, "GraphDriver.Data.DeviceId") |
|
221 | 219 |
|
222 | 220 |
c.Assert(imageDeviceID, checker.Not(checker.Equals), deviceID) |
223 | 221 |
|
224 |
- _, err = strconv.Atoi(deviceID) |
|
222 |
+ _, err := strconv.Atoi(deviceID) |
|
225 | 223 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect DeviceId of the image: %s, %v", deviceID, err)) |
226 | 224 |
|
227 |
- deviceSize, err := inspectField(out, "GraphDriver.Data.DeviceSize") |
|
228 |
- c.Assert(err, checker.IsNil) |
|
225 |
+ deviceSize := inspectField(c, out, "GraphDriver.Data.DeviceSize") |
|
229 | 226 |
|
230 | 227 |
_, err = strconv.ParseUint(deviceSize, 10, 64) |
231 | 228 |
c.Assert(err, checker.IsNil, check.Commentf("failed to inspect DeviceSize of the image: %s, %v", deviceSize, err)) |
... | ... |
@@ -235,11 +219,10 @@ func (s *DockerSuite) TestInspectBindMountPoint(c *check.C) { |
235 | 235 |
testRequires(c, DaemonIsLinux) |
236 | 236 |
dockerCmd(c, "run", "-d", "--name", "test", "-v", "/data:/data:ro,z", "busybox", "cat") |
237 | 237 |
|
238 |
- vol, err := inspectFieldJSON("test", "Mounts") |
|
239 |
- c.Assert(err, checker.IsNil) |
|
238 |
+ vol := inspectFieldJSON(c, "test", "Mounts") |
|
240 | 239 |
|
241 | 240 |
var mp []types.MountPoint |
242 |
- err = unmarshalJSON([]byte(vol), &mp) |
|
241 |
+ err := unmarshalJSON([]byte(vol), &mp) |
|
243 | 242 |
c.Assert(err, checker.IsNil) |
244 | 243 |
|
245 | 244 |
// check that there is only one mountpoint |
... | ... |
@@ -260,22 +243,18 @@ func (s *DockerSuite) TestInspectTimesAsRFC3339Nano(c *check.C) { |
260 | 260 |
testRequires(c, DaemonIsLinux) |
261 | 261 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "true") |
262 | 262 |
id := strings.TrimSpace(out) |
263 |
- startedAt, err := inspectField(id, "State.StartedAt") |
|
264 |
- c.Assert(err, checker.IsNil) |
|
265 |
- finishedAt, err := inspectField(id, "State.FinishedAt") |
|
266 |
- c.Assert(err, checker.IsNil) |
|
267 |
- created, err := inspectField(id, "Created") |
|
268 |
- c.Assert(err, checker.IsNil) |
|
263 |
+ startedAt := inspectField(c, id, "State.StartedAt") |
|
264 |
+ finishedAt := inspectField(c, id, "State.FinishedAt") |
|
265 |
+ created := inspectField(c, id, "Created") |
|
269 | 266 |
|
270 |
- _, err = time.Parse(time.RFC3339Nano, startedAt) |
|
267 |
+ _, err := time.Parse(time.RFC3339Nano, startedAt) |
|
271 | 268 |
c.Assert(err, checker.IsNil) |
272 | 269 |
_, err = time.Parse(time.RFC3339Nano, finishedAt) |
273 | 270 |
c.Assert(err, checker.IsNil) |
274 | 271 |
_, err = time.Parse(time.RFC3339Nano, created) |
275 | 272 |
c.Assert(err, checker.IsNil) |
276 | 273 |
|
277 |
- created, err = inspectField("busybox", "Created") |
|
278 |
- c.Assert(err, checker.IsNil) |
|
274 |
+ created = inspectField(c, "busybox", "Created") |
|
279 | 275 |
|
280 | 276 |
_, err = time.Parse(time.RFC3339Nano, created) |
281 | 277 |
c.Assert(err, checker.IsNil) |
... | ... |
@@ -287,10 +266,9 @@ func (s *DockerSuite) TestInspectLogConfigNoType(c *check.C) { |
287 | 287 |
dockerCmd(c, "create", "--name=test", "--log-opt", "max-file=42", "busybox") |
288 | 288 |
var logConfig container.LogConfig |
289 | 289 |
|
290 |
- out, err := inspectFieldJSON("test", "HostConfig.LogConfig") |
|
291 |
- c.Assert(err, checker.IsNil, check.Commentf("%v", out)) |
|
290 |
+ out := inspectFieldJSON(c, "test", "HostConfig.LogConfig") |
|
292 | 291 |
|
293 |
- err = json.NewDecoder(strings.NewReader(out)).Decode(&logConfig) |
|
292 |
+ err := json.NewDecoder(strings.NewReader(out)).Decode(&logConfig) |
|
294 | 293 |
c.Assert(err, checker.IsNil, check.Commentf("%v", out)) |
295 | 294 |
|
296 | 295 |
c.Assert(logConfig.Type, checker.Equals, "json-file") |
... | ... |
@@ -355,16 +333,13 @@ func (s *DockerSuite) TestInspectJSONFields(c *check.C) { |
355 | 355 |
} |
356 | 356 |
|
357 | 357 |
func (s *DockerSuite) TestInspectByPrefix(c *check.C) { |
358 |
- id, err := inspectField("busybox", "Id") |
|
359 |
- c.Assert(err, checker.IsNil) |
|
358 |
+ id := inspectField(c, "busybox", "Id") |
|
360 | 359 |
c.Assert(id, checker.HasPrefix, "sha256:") |
361 | 360 |
|
362 |
- id2, err := inspectField(id[:12], "Id") |
|
363 |
- c.Assert(err, checker.IsNil) |
|
361 |
+ id2 := inspectField(c, id[:12], "Id") |
|
364 | 362 |
c.Assert(id, checker.Equals, id2) |
365 | 363 |
|
366 |
- id3, err := inspectField(strings.TrimPrefix(id, "sha256:")[:12], "Id") |
|
367 |
- c.Assert(err, checker.IsNil) |
|
364 |
+ id3 := inspectField(c, strings.TrimPrefix(id, "sha256:")[:12], "Id") |
|
368 | 365 |
c.Assert(id, checker.Equals, id3) |
369 | 366 |
} |
370 | 367 |
|
... | ... |
@@ -395,11 +370,9 @@ func (s *DockerSuite) TestInspectContainerNetworkDefault(c *check.C) { |
395 | 395 |
contName := "test1" |
396 | 396 |
dockerCmd(c, "run", "--name", contName, "-d", "busybox", "top") |
397 | 397 |
netOut, _ := dockerCmd(c, "network", "inspect", "--format='{{.ID}}'", "bridge") |
398 |
- out, err := inspectField(contName, "NetworkSettings.Networks") |
|
399 |
- c.Assert(err, checker.IsNil) |
|
398 |
+ out := inspectField(c, contName, "NetworkSettings.Networks") |
|
400 | 399 |
c.Assert(out, checker.Contains, "bridge") |
401 |
- out, err = inspectField(contName, "NetworkSettings.Networks.bridge.NetworkID") |
|
402 |
- c.Assert(err, checker.IsNil) |
|
400 |
+ out = inspectField(c, contName, "NetworkSettings.Networks.bridge.NetworkID") |
|
403 | 401 |
c.Assert(strings.TrimSpace(out), checker.Equals, strings.TrimSpace(netOut)) |
404 | 402 |
} |
405 | 403 |
|
... | ... |
@@ -408,10 +381,8 @@ func (s *DockerSuite) TestInspectContainerNetworkCustom(c *check.C) { |
408 | 408 |
|
409 | 409 |
netOut, _ := dockerCmd(c, "network", "create", "net1") |
410 | 410 |
dockerCmd(c, "run", "--name=container1", "--net=net1", "-d", "busybox", "top") |
411 |
- out, err := inspectField("container1", "NetworkSettings.Networks") |
|
412 |
- c.Assert(err, checker.IsNil) |
|
411 |
+ out := inspectField(c, "container1", "NetworkSettings.Networks") |
|
413 | 412 |
c.Assert(out, checker.Contains, "net1") |
414 |
- out, err = inspectField("container1", "NetworkSettings.Networks.net1.NetworkID") |
|
415 |
- c.Assert(err, checker.IsNil) |
|
413 |
+ out = inspectField(c, "container1", "NetworkSettings.Networks.net1.NetworkID") |
|
416 | 414 |
c.Assert(strings.TrimSpace(out), checker.Equals, strings.TrimSpace(netOut)) |
417 | 415 |
} |
... | ... |
@@ -55,7 +55,7 @@ func (s *DockerSuite) TestKillWithSignal(c *check.C) { |
55 | 55 |
|
56 | 56 |
dockerCmd(c, "kill", "-s", "SIGWINCH", cid) |
57 | 57 |
|
58 |
- running, _ := inspectField(cid, "State.Running") |
|
58 |
+ running := inspectField(c, cid, "State.Running") |
|
59 | 59 |
|
60 | 60 |
c.Assert(running, checker.Equals, "true", check.Commentf("Container should be in running state after SIGWINCH")) |
61 | 61 |
} |
... | ... |
@@ -70,7 +70,7 @@ func (s *DockerSuite) TestKillWithInvalidSignal(c *check.C) { |
70 | 70 |
c.Assert(err, check.NotNil) |
71 | 71 |
c.Assert(out, checker.Contains, "Invalid signal: 0", check.Commentf("Kill with an invalid signal didn't error out correctly")) |
72 | 72 |
|
73 |
- running, _ := inspectField(cid, "State.Running") |
|
73 |
+ running := inspectField(c, cid, "State.Running") |
|
74 | 74 |
c.Assert(running, checker.Equals, "true", check.Commentf("Container should be in running state after an invalid signal")) |
75 | 75 |
|
76 | 76 |
out, _ = dockerCmd(c, "run", "-d", "busybox", "top") |
... | ... |
@@ -81,7 +81,7 @@ func (s *DockerSuite) TestKillWithInvalidSignal(c *check.C) { |
81 | 81 |
c.Assert(err, check.NotNil) |
82 | 82 |
c.Assert(out, checker.Contains, "Invalid signal: SIG42", check.Commentf("Kill with an invalid signal error out correctly")) |
83 | 83 |
|
84 |
- running, _ = inspectField(cid, "State.Running") |
|
84 |
+ running = inspectField(c, cid, "State.Running") |
|
85 | 85 |
c.Assert(running, checker.Equals, "true", check.Commentf("Container should be in running state after an invalid signal")) |
86 | 86 |
|
87 | 87 |
} |
... | ... |
@@ -69,10 +69,9 @@ func (s *DockerSuite) TestLinksInspectLinksStarted(c *check.C) { |
69 | 69 |
dockerCmd(c, "run", "-d", "--name", "container1", "busybox", "top") |
70 | 70 |
dockerCmd(c, "run", "-d", "--name", "container2", "busybox", "top") |
71 | 71 |
dockerCmd(c, "run", "-d", "--name", "testinspectlink", "--link", "container1:alias1", "--link", "container2:alias2", "busybox", "top") |
72 |
- links, err := inspectFieldJSON("testinspectlink", "HostConfig.Links") |
|
73 |
- c.Assert(err, checker.IsNil) |
|
72 |
+ links := inspectFieldJSON(c, "testinspectlink", "HostConfig.Links") |
|
74 | 73 |
|
75 |
- err = unmarshalJSON([]byte(links), &result) |
|
74 |
+ err := unmarshalJSON([]byte(links), &result) |
|
76 | 75 |
c.Assert(err, checker.IsNil) |
77 | 76 |
|
78 | 77 |
output := convertSliceOfStringsToMap(result) |
... | ... |
@@ -89,10 +88,9 @@ func (s *DockerSuite) TestLinksInspectLinksStopped(c *check.C) { |
89 | 89 |
dockerCmd(c, "run", "-d", "--name", "container1", "busybox", "top") |
90 | 90 |
dockerCmd(c, "run", "-d", "--name", "container2", "busybox", "top") |
91 | 91 |
dockerCmd(c, "run", "-d", "--name", "testinspectlink", "--link", "container1:alias1", "--link", "container2:alias2", "busybox", "true") |
92 |
- links, err := inspectFieldJSON("testinspectlink", "HostConfig.Links") |
|
93 |
- c.Assert(err, checker.IsNil) |
|
92 |
+ links := inspectFieldJSON(c, "testinspectlink", "HostConfig.Links") |
|
94 | 93 |
|
95 |
- err = unmarshalJSON([]byte(links), &result) |
|
94 |
+ err := unmarshalJSON([]byte(links), &result) |
|
96 | 95 |
c.Assert(err, checker.IsNil) |
97 | 96 |
|
98 | 97 |
output := convertSliceOfStringsToMap(result) |
... | ... |
@@ -136,11 +134,7 @@ func (s *DockerSuite) TestLinksUpdateOnRestart(c *check.C) { |
136 | 136 |
out, _ := dockerCmd(c, "run", "-d", "--name", "two", "--link", "one:onetwo", "--link", "one:one", "busybox", "top") |
137 | 137 |
id := strings.TrimSpace(string(out)) |
138 | 138 |
|
139 |
- realIP, err := inspectField("one", "NetworkSettings.Networks.bridge.IPAddress") |
|
140 |
- if err != nil { |
|
141 |
- c.Fatal(err) |
|
142 |
- } |
|
143 |
- c.Assert(err, checker.IsNil) |
|
139 |
+ realIP := inspectField(c, "one", "NetworkSettings.Networks.bridge.IPAddress") |
|
144 | 140 |
content, err := readContainerFileWithExec(id, "/etc/hosts") |
145 | 141 |
c.Assert(err, checker.IsNil) |
146 | 142 |
|
... | ... |
@@ -157,8 +151,7 @@ func (s *DockerSuite) TestLinksUpdateOnRestart(c *check.C) { |
157 | 157 |
c.Assert(ip, checker.Equals, realIP) |
158 | 158 |
|
159 | 159 |
dockerCmd(c, "restart", "one") |
160 |
- realIP, err = inspectField("one", "NetworkSettings.Networks.bridge.IPAddress") |
|
161 |
- c.Assert(err, checker.IsNil) |
|
160 |
+ realIP = inspectField(c, "one", "NetworkSettings.Networks.bridge.IPAddress") |
|
162 | 161 |
|
163 | 162 |
content, err = readContainerFileWithExec(id, "/etc/hosts") |
164 | 163 |
c.Assert(err, checker.IsNil, check.Commentf("content: %s", string(content))) |
... | ... |
@@ -190,8 +183,7 @@ func (s *DockerSuite) TestLinkShortDefinition(c *check.C) { |
190 | 190 |
cid2 := strings.TrimSpace(out) |
191 | 191 |
c.Assert(waitRun(cid2), checker.IsNil) |
192 | 192 |
|
193 |
- links, err := inspectFieldJSON(cid2, "HostConfig.Links") |
|
194 |
- c.Assert(err, checker.IsNil) |
|
193 |
+ links := inspectFieldJSON(c, cid2, "HostConfig.Links") |
|
195 | 194 |
c.Assert(links, checker.Equals, "[\"/shortlinkdef:/link2/shortlinkdef\"]") |
196 | 195 |
} |
197 | 196 |
|
... | ... |
@@ -44,8 +44,7 @@ func getContainerLogs(c *check.C, containerID string) string { |
44 | 44 |
} |
45 | 45 |
|
46 | 46 |
func getContainerStatus(c *check.C, containerID string) string { |
47 |
- out, err := inspectField(containerID, "State.Running") |
|
48 |
- c.Assert(err, check.IsNil) |
|
47 |
+ out := inspectField(c, containerID, "State.Running") |
|
49 | 48 |
return out |
50 | 49 |
} |
51 | 50 |
|
... | ... |
@@ -890,8 +890,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkMacInspect(c *check.C) { |
890 | 890 |
|
891 | 891 |
dockerCmd(c, "run", "-d", "--net", nwn, "--name", ctn, "busybox", "top") |
892 | 892 |
|
893 |
- mac, err := inspectField(ctn, "NetworkSettings.Networks."+nwn+".MacAddress") |
|
894 |
- c.Assert(err, checker.IsNil) |
|
893 |
+ mac := inspectField(c, ctn, "NetworkSettings.Networks."+nwn+".MacAddress") |
|
895 | 894 |
c.Assert(mac, checker.Equals, "a0:b1:c2:d3:e4:f5") |
896 | 895 |
} |
897 | 896 |
|
... | ... |
@@ -1048,19 +1047,16 @@ func (s *DockerNetworkSuite) TestDockerNetworkConnectWithMac(c *check.C) { |
1048 | 1048 |
dockerCmd(c, "network", "create", "mynetwork") |
1049 | 1049 |
dockerCmd(c, "run", "--name=test", "-d", "--mac-address", macAddress, "busybox", "top") |
1050 | 1050 |
c.Assert(waitRun("test"), check.IsNil) |
1051 |
- mac1, err := inspectField("test", "NetworkSettings.Networks.bridge.MacAddress") |
|
1052 |
- c.Assert(err, checker.IsNil) |
|
1051 |
+ mac1 := inspectField(c, "test", "NetworkSettings.Networks.bridge.MacAddress") |
|
1053 | 1052 |
c.Assert(strings.TrimSpace(mac1), checker.Equals, macAddress) |
1054 | 1053 |
dockerCmd(c, "network", "connect", "mynetwork", "test") |
1055 |
- mac2, err := inspectField("test", "NetworkSettings.Networks.mynetwork.MacAddress") |
|
1056 |
- c.Assert(err, checker.IsNil) |
|
1054 |
+ mac2 := inspectField(c, "test", "NetworkSettings.Networks.mynetwork.MacAddress") |
|
1057 | 1055 |
c.Assert(strings.TrimSpace(mac2), checker.Not(checker.Equals), strings.TrimSpace(mac1)) |
1058 | 1056 |
} |
1059 | 1057 |
|
1060 | 1058 |
func (s *DockerNetworkSuite) TestDockerNetworkInspectCreatedContainer(c *check.C) { |
1061 | 1059 |
dockerCmd(c, "create", "--name", "test", "busybox") |
1062 |
- networks, err := inspectField("test", "NetworkSettings.Networks") |
|
1063 |
- c.Assert(err, checker.IsNil) |
|
1060 |
+ networks := inspectField(c, "test", "NetworkSettings.Networks") |
|
1064 | 1061 |
c.Assert(networks, checker.Contains, "bridge", check.Commentf("Should return 'bridge' network")) |
1065 | 1062 |
} |
1066 | 1063 |
|
... | ... |
@@ -1070,8 +1066,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkRestartWithMultipleNetworks(c *che |
1070 | 1070 |
c.Assert(waitRun("foo"), checker.IsNil) |
1071 | 1071 |
dockerCmd(c, "network", "connect", "test", "foo") |
1072 | 1072 |
dockerCmd(c, "restart", "foo") |
1073 |
- networks, err := inspectField("foo", "NetworkSettings.Networks") |
|
1074 |
- c.Assert(err, checker.IsNil) |
|
1073 |
+ networks := inspectField(c, "foo", "NetworkSettings.Networks") |
|
1075 | 1074 |
c.Assert(networks, checker.Contains, "bridge", check.Commentf("Should contain 'bridge' network")) |
1076 | 1075 |
c.Assert(networks, checker.Contains, "test", check.Commentf("Should contain 'test' network")) |
1077 | 1076 |
} |
... | ... |
@@ -1080,20 +1075,18 @@ func (s *DockerNetworkSuite) TestDockerNetworkConnectDisconnectToStoppedContaine |
1080 | 1080 |
dockerCmd(c, "network", "create", "test") |
1081 | 1081 |
dockerCmd(c, "create", "--name=foo", "busybox", "top") |
1082 | 1082 |
dockerCmd(c, "network", "connect", "test", "foo") |
1083 |
- networks, err := inspectField("foo", "NetworkSettings.Networks") |
|
1084 |
- c.Assert(err, checker.IsNil) |
|
1083 |
+ networks := inspectField(c, "foo", "NetworkSettings.Networks") |
|
1085 | 1084 |
c.Assert(networks, checker.Contains, "test", check.Commentf("Should contain 'test' network")) |
1086 | 1085 |
|
1087 | 1086 |
// Restart docker daemon to test the config has persisted to disk |
1088 | 1087 |
s.d.Restart() |
1089 |
- networks, err = inspectField("foo", "NetworkSettings.Networks") |
|
1090 |
- c.Assert(err, checker.IsNil) |
|
1088 |
+ networks = inspectField(c, "foo", "NetworkSettings.Networks") |
|
1091 | 1089 |
c.Assert(networks, checker.Contains, "test", check.Commentf("Should contain 'test' network")) |
1092 | 1090 |
|
1093 | 1091 |
// start the container and test if we can ping it from another container in the same network |
1094 | 1092 |
dockerCmd(c, "start", "foo") |
1095 | 1093 |
c.Assert(waitRun("foo"), checker.IsNil) |
1096 |
- ip, err := inspectField("foo", "NetworkSettings.Networks.test.IPAddress") |
|
1094 |
+ ip := inspectField(c, "foo", "NetworkSettings.Networks.test.IPAddress") |
|
1097 | 1095 |
ip = strings.TrimSpace(ip) |
1098 | 1096 |
dockerCmd(c, "run", "--net=test", "busybox", "sh", "-c", fmt.Sprintf("ping -c 1 %s", ip)) |
1099 | 1097 |
|
... | ... |
@@ -1101,14 +1094,12 @@ func (s *DockerNetworkSuite) TestDockerNetworkConnectDisconnectToStoppedContaine |
1101 | 1101 |
|
1102 | 1102 |
// Test disconnect |
1103 | 1103 |
dockerCmd(c, "network", "disconnect", "test", "foo") |
1104 |
- networks, err = inspectField("foo", "NetworkSettings.Networks") |
|
1105 |
- c.Assert(err, checker.IsNil) |
|
1104 |
+ networks = inspectField(c, "foo", "NetworkSettings.Networks") |
|
1106 | 1105 |
c.Assert(networks, checker.Not(checker.Contains), "test", check.Commentf("Should not contain 'test' network")) |
1107 | 1106 |
|
1108 | 1107 |
// Restart docker daemon to test the config has persisted to disk |
1109 | 1108 |
s.d.Restart() |
1110 |
- networks, err = inspectField("foo", "NetworkSettings.Networks") |
|
1111 |
- c.Assert(err, checker.IsNil) |
|
1109 |
+ networks = inspectField(c, "foo", "NetworkSettings.Networks") |
|
1112 | 1110 |
c.Assert(networks, checker.Not(checker.Contains), "test", check.Commentf("Should not contain 'test' network")) |
1113 | 1111 |
|
1114 | 1112 |
} |
... | ... |
@@ -1174,10 +1165,10 @@ func checkUnsupportedNetworkAndIP(c *check.C, nwMode string) { |
1174 | 1174 |
} |
1175 | 1175 |
|
1176 | 1176 |
func verifyIPAddresses(c *check.C, cName, nwname, ipv4, ipv6 string) { |
1177 |
- out, _ := dockerCmd(c, "inspect", fmt.Sprintf("--format='{{ .NetworkSettings.Networks.%s.IPAddress }}'", nwname), cName) |
|
1177 |
+ out := inspectField(c, cName, fmt.Sprintf("NetworkSettings.Networks.%s.IPAddress", nwname)) |
|
1178 | 1178 |
c.Assert(strings.TrimSpace(out), check.Equals, ipv4) |
1179 | 1179 |
|
1180 |
- out, _ = dockerCmd(c, "inspect", fmt.Sprintf("--format='{{ .NetworkSettings.Networks.%s.GlobalIPv6Address }}'", nwname), cName) |
|
1180 |
+ out = inspectField(c, cName, fmt.Sprintf("NetworkSettings.Networks.%s.GlobalIPv6Address", nwname)) |
|
1181 | 1181 |
c.Assert(strings.TrimSpace(out), check.Equals, ipv6) |
1182 | 1182 |
} |
1183 | 1183 |
|
... | ... |
@@ -1237,8 +1228,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkStartAPIWithHostconfig(c *check.C) |
1237 | 1237 |
_, _, err := sockRequest("POST", "/containers/"+conName+"/start", config) |
1238 | 1238 |
c.Assert(err, checker.IsNil) |
1239 | 1239 |
c.Assert(waitRun(conName), checker.IsNil) |
1240 |
- networks, err := inspectField(conName, "NetworkSettings.Networks") |
|
1241 |
- c.Assert(err, checker.IsNil) |
|
1240 |
+ networks := inspectField(c, conName, "NetworkSettings.Networks") |
|
1242 | 1241 |
c.Assert(networks, checker.Contains, netName, check.Commentf(fmt.Sprintf("Should contain '%s' network", netName))) |
1243 | 1242 |
c.Assert(networks, checker.Not(checker.Contains), "bridge", check.Commentf("Should not contain 'bridge' network")) |
1244 | 1243 |
} |
... | ... |
@@ -1257,8 +1247,7 @@ func (s *DockerNetworkSuite) TestDockerNetworkDisconnectDefault(c *check.C) { |
1257 | 1257 |
|
1258 | 1258 |
dockerCmd(c, "start", containerName) |
1259 | 1259 |
c.Assert(waitRun(containerName), checker.IsNil) |
1260 |
- networks, err := inspectField(containerName, "NetworkSettings.Networks") |
|
1261 |
- c.Assert(err, checker.IsNil) |
|
1260 |
+ networks := inspectField(c, containerName, "NetworkSettings.Networks") |
|
1262 | 1261 |
c.Assert(networks, checker.Contains, netWorkName1, check.Commentf(fmt.Sprintf("Should contain '%s' network", netWorkName1))) |
1263 | 1262 |
c.Assert(networks, checker.Contains, netWorkName2, check.Commentf(fmt.Sprintf("Should contain '%s' network", netWorkName2))) |
1264 | 1263 |
c.Assert(networks, checker.Not(checker.Contains), "bridge", check.Commentf("Should not contain 'bridge' network")) |
... | ... |
@@ -1339,12 +1328,12 @@ func (s *DockerSuite) TestDockerNetworkConnectFailsNoInspectChange(c *check.C) { |
1339 | 1339 |
dockerCmd(c, "run", "-d", "--name=bb", "busybox", "top") |
1340 | 1340 |
c.Assert(waitRun("bb"), check.IsNil) |
1341 | 1341 |
|
1342 |
- ns0, _ := dockerCmd(c, "inspect", "--format='{{ .NetworkSettings.Networks.bridge }}'", "bb") |
|
1342 |
+ ns0 := inspectField(c, "bb", "NetworkSettings.Networks.bridge") |
|
1343 | 1343 |
|
1344 | 1344 |
// A failing redundant network connect should not alter current container's endpoint settings |
1345 | 1345 |
_, _, err := dockerCmdWithError("network", "connect", "bridge", "bb") |
1346 | 1346 |
c.Assert(err, check.NotNil) |
1347 | 1347 |
|
1348 |
- ns1, _ := dockerCmd(c, "inspect", "--format='{{ .NetworkSettings.Networks.bridge }}'", "bb") |
|
1348 |
+ ns1 := inspectField(c, "bb", "NetworkSettings.Networks.bridge") |
|
1349 | 1349 |
c.Assert(ns1, check.Equals, ns0) |
1350 | 1350 |
} |
... | ... |
@@ -15,9 +15,8 @@ func (s *DockerSuite) TestInspectOomKilledTrue(c *check.C) { |
15 | 15 |
|
16 | 16 |
c.Assert(exitCode, checker.Equals, 137, check.Commentf("OOM exit should be 137")) |
17 | 17 |
|
18 |
- oomKilled, err := inspectField(name, "State.OOMKilled") |
|
18 |
+ oomKilled := inspectField(c, name, "State.OOMKilled") |
|
19 | 19 |
c.Assert(oomKilled, checker.Equals, "true") |
20 |
- c.Assert(err, checker.IsNil) |
|
21 | 20 |
} |
22 | 21 |
|
23 | 22 |
func (s *DockerSuite) TestInspectOomKilledFalse(c *check.C) { |
... | ... |
@@ -26,7 +25,6 @@ func (s *DockerSuite) TestInspectOomKilledFalse(c *check.C) { |
26 | 26 |
name := "testoomkilled" |
27 | 27 |
dockerCmd(c, "run", "--name", name, "--memory", "32MB", "busybox", "sh", "-c", "echo hello world") |
28 | 28 |
|
29 |
- oomKilled, err := inspectField(name, "State.OOMKilled") |
|
29 |
+ oomKilled := inspectField(c, name, "State.OOMKilled") |
|
30 | 30 |
c.Assert(oomKilled, checker.Equals, "false") |
31 |
- c.Assert(err, checker.IsNil) |
|
32 | 31 |
} |
... | ... |
@@ -431,7 +431,7 @@ func (s *DockerSuite) TestPsRightTagName(c *check.C) { |
431 | 431 |
id2 = strings.TrimSpace(string(out)) |
432 | 432 |
|
433 | 433 |
var imageID string |
434 |
- out, _ = dockerCmd(c, "inspect", "-f", "{{.Id}}", "busybox") |
|
434 |
+ out = inspectField(c, "busybox", "Id") |
|
435 | 435 |
imageID = strings.TrimSpace(string(out)) |
436 | 436 |
|
437 | 437 |
var id3 string |
... | ... |
@@ -235,21 +235,19 @@ func (s *DockerTrustSuite) TestTrustedPullDelete(c *check.C) { |
235 | 235 |
c.Assert(matches, checker.HasLen, 2, check.Commentf("unable to parse digest from pull output: %s", out)) |
236 | 236 |
pullDigest := matches[1] |
237 | 237 |
|
238 |
- imageID, err := inspectField(repoName, "Id") |
|
239 |
- c.Assert(err, checker.IsNil, check.Commentf("error inspecting image id")) |
|
238 |
+ imageID := inspectField(c, repoName, "Id") |
|
240 | 239 |
|
241 | 240 |
imageByDigest := repoName + "@" + pullDigest |
242 |
- byDigestID, err := inspectField(imageByDigest, "Id") |
|
243 |
- c.Assert(err, checker.IsNil, check.Commentf("error inspecting image id")) |
|
241 |
+ byDigestID := inspectField(c, imageByDigest, "Id") |
|
244 | 242 |
|
245 | 243 |
c.Assert(byDigestID, checker.Equals, imageID) |
246 | 244 |
|
247 | 245 |
// rmi of tag should also remove the digest reference |
248 | 246 |
dockerCmd(c, "rmi", repoName) |
249 | 247 |
|
250 |
- _, err = inspectField(imageByDigest, "Id") |
|
248 |
+ _, err = inspectFieldWithError(imageByDigest, "Id") |
|
251 | 249 |
c.Assert(err, checker.NotNil, check.Commentf("digest reference should have been removed")) |
252 | 250 |
|
253 |
- _, err = inspectField(imageID, "Id") |
|
251 |
+ _, err = inspectFieldWithError(imageID, "Id") |
|
254 | 252 |
c.Assert(err, checker.NotNil, check.Commentf("image should have been deleted")) |
255 | 253 |
} |
... | ... |
@@ -14,12 +14,11 @@ func (s *DockerSuite) TestRenameStoppedContainer(c *check.C) { |
14 | 14 |
cleanedContainerID := strings.TrimSpace(out) |
15 | 15 |
dockerCmd(c, "wait", cleanedContainerID) |
16 | 16 |
|
17 |
- name, err := inspectField(cleanedContainerID, "Name") |
|
17 |
+ name := inspectField(c, cleanedContainerID, "Name") |
|
18 | 18 |
newName := "new_name" + stringid.GenerateNonCryptoID() |
19 | 19 |
dockerCmd(c, "rename", "first_name", newName) |
20 | 20 |
|
21 |
- name, err = inspectField(cleanedContainerID, "Name") |
|
22 |
- c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name)) |
|
21 |
+ name = inspectField(c, cleanedContainerID, "Name") |
|
23 | 22 |
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container %s", name)) |
24 | 23 |
|
25 | 24 |
} |
... | ... |
@@ -31,8 +30,7 @@ func (s *DockerSuite) TestRenameRunningContainer(c *check.C) { |
31 | 31 |
cleanedContainerID := strings.TrimSpace(out) |
32 | 32 |
dockerCmd(c, "rename", "first_name", newName) |
33 | 33 |
|
34 |
- name, err := inspectField(cleanedContainerID, "Name") |
|
35 |
- c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name)) |
|
34 |
+ name := inspectField(c, cleanedContainerID, "Name") |
|
36 | 35 |
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container %s", name)) |
37 | 36 |
} |
38 | 37 |
|
... | ... |
@@ -44,15 +42,13 @@ func (s *DockerSuite) TestRenameRunningContainerAndReuse(c *check.C) { |
44 | 44 |
ContainerID := strings.TrimSpace(out) |
45 | 45 |
dockerCmd(c, "rename", "first_name", newName) |
46 | 46 |
|
47 |
- name, err := inspectField(ContainerID, "Name") |
|
48 |
- c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name)) |
|
47 |
+ name := inspectField(c, ContainerID, "Name") |
|
49 | 48 |
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container")) |
50 | 49 |
|
51 | 50 |
out, _ = runSleepingContainer(c, "--name", "first_name") |
52 | 51 |
c.Assert(waitRun("first_name"), check.IsNil) |
53 | 52 |
newContainerID := strings.TrimSpace(out) |
54 |
- name, err = inspectField(newContainerID, "Name") |
|
55 |
- c.Assert(err, checker.IsNil, check.Commentf("Failed to reuse container name")) |
|
53 |
+ name = inspectField(c, newContainerID, "Name") |
|
56 | 54 |
c.Assert(name, checker.Equals, "/first_name", check.Commentf("Failed to reuse container name")) |
57 | 55 |
} |
58 | 56 |
|
... | ... |
@@ -62,11 +58,10 @@ func (s *DockerSuite) TestRenameCheckNames(c *check.C) { |
62 | 62 |
newName := "new_name" + stringid.GenerateNonCryptoID() |
63 | 63 |
dockerCmd(c, "rename", "first_name", newName) |
64 | 64 |
|
65 |
- name, err := inspectField(newName, "Name") |
|
66 |
- c.Assert(err, checker.IsNil, check.Commentf("Failed to rename container %s", name)) |
|
65 |
+ name := inspectField(c, newName, "Name") |
|
67 | 66 |
c.Assert(name, checker.Equals, "/"+newName, check.Commentf("Failed to rename container %s", name)) |
68 | 67 |
|
69 |
- name, err = inspectField("first_name", "Name") |
|
68 |
+ name, err := inspectFieldWithError("first_name", "Name") |
|
70 | 69 |
c.Assert(err, checker.NotNil, check.Commentf(name)) |
71 | 70 |
c.Assert(err.Error(), checker.Contains, "No such image or container: first_name") |
72 | 71 |
} |
... | ... |
@@ -52,7 +52,8 @@ func (s *DockerSuite) TestRestartWithVolumes(c *check.C) { |
52 | 52 |
out, _ := dockerCmd(c, "run", "-d", "-v", "/test", "busybox", "top") |
53 | 53 |
|
54 | 54 |
cleanedContainerID := strings.TrimSpace(out) |
55 |
- out, _ = dockerCmd(c, "inspect", "--format", "{{ len .Mounts }}", cleanedContainerID) |
|
55 |
+ out, err := inspectFilter(cleanedContainerID, "len .Mounts") |
|
56 |
+ c.Assert(err, check.IsNil, check.Commentf("failed to inspect %s: %s", cleanedContainerID, out)) |
|
56 | 57 |
out = strings.Trim(out, " \n\r") |
57 | 58 |
c.Assert(out, checker.Equals, "1") |
58 | 59 |
|
... | ... |
@@ -61,7 +62,8 @@ func (s *DockerSuite) TestRestartWithVolumes(c *check.C) { |
61 | 61 |
|
62 | 62 |
dockerCmd(c, "restart", cleanedContainerID) |
63 | 63 |
|
64 |
- out, _ = dockerCmd(c, "inspect", "--format", "{{ len .Mounts }}", cleanedContainerID) |
|
64 |
+ out, err = inspectFilter(cleanedContainerID, "len .Mounts") |
|
65 |
+ c.Assert(err, check.IsNil, check.Commentf("failed to inspect %s: %s", cleanedContainerID, out)) |
|
65 | 66 |
out = strings.Trim(out, " \n\r") |
66 | 67 |
c.Assert(out, checker.Equals, "1") |
67 | 68 |
|
... | ... |
@@ -75,8 +77,7 @@ func (s *DockerSuite) TestRestartPolicyNO(c *check.C) { |
75 | 75 |
out, _ := dockerCmd(c, "run", "-d", "--restart=no", "busybox", "false") |
76 | 76 |
|
77 | 77 |
id := strings.TrimSpace(string(out)) |
78 |
- name, err := inspectField(id, "HostConfig.RestartPolicy.Name") |
|
79 |
- c.Assert(err, checker.IsNil) |
|
78 |
+ name := inspectField(c, id, "HostConfig.RestartPolicy.Name") |
|
80 | 79 |
c.Assert(name, checker.Equals, "no") |
81 | 80 |
} |
82 | 81 |
|
... | ... |
@@ -85,12 +86,10 @@ func (s *DockerSuite) TestRestartPolicyAlways(c *check.C) { |
85 | 85 |
out, _ := dockerCmd(c, "run", "-d", "--restart=always", "busybox", "false") |
86 | 86 |
|
87 | 87 |
id := strings.TrimSpace(string(out)) |
88 |
- name, err := inspectField(id, "HostConfig.RestartPolicy.Name") |
|
89 |
- c.Assert(err, checker.IsNil) |
|
88 |
+ name := inspectField(c, id, "HostConfig.RestartPolicy.Name") |
|
90 | 89 |
c.Assert(name, checker.Equals, "always") |
91 | 90 |
|
92 |
- MaximumRetryCount, err := inspectField(id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
93 |
- c.Assert(err, checker.IsNil) |
|
91 |
+ MaximumRetryCount := inspectField(c, id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
94 | 92 |
|
95 | 93 |
// MaximumRetryCount=0 if the restart policy is always |
96 | 94 |
c.Assert(MaximumRetryCount, checker.Equals, "0") |
... | ... |
@@ -101,8 +100,7 @@ func (s *DockerSuite) TestRestartPolicyOnFailure(c *check.C) { |
101 | 101 |
out, _ := dockerCmd(c, "run", "-d", "--restart=on-failure:1", "busybox", "false") |
102 | 102 |
|
103 | 103 |
id := strings.TrimSpace(string(out)) |
104 |
- name, err := inspectField(id, "HostConfig.RestartPolicy.Name") |
|
105 |
- c.Assert(err, checker.IsNil) |
|
104 |
+ name := inspectField(c, id, "HostConfig.RestartPolicy.Name") |
|
106 | 105 |
c.Assert(name, checker.Equals, "on-failure") |
107 | 106 |
|
108 | 107 |
} |
... | ... |
@@ -117,12 +115,10 @@ func (s *DockerSuite) TestContainerRestartwithGoodContainer(c *check.C) { |
117 | 117 |
err := waitInspect(id, "{{ .State.Restarting }} {{ .State.Running }}", "false false", 5*time.Second) |
118 | 118 |
c.Assert(err, checker.IsNil) |
119 | 119 |
|
120 |
- count, err := inspectField(id, "RestartCount") |
|
121 |
- c.Assert(err, checker.IsNil) |
|
120 |
+ count := inspectField(c, id, "RestartCount") |
|
122 | 121 |
c.Assert(count, checker.Equals, "0") |
123 | 122 |
|
124 |
- MaximumRetryCount, err := inspectField(id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
125 |
- c.Assert(err, checker.IsNil) |
|
123 |
+ MaximumRetryCount := inspectField(c, id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
126 | 124 |
c.Assert(MaximumRetryCount, checker.Equals, "3") |
127 | 125 |
|
128 | 126 |
} |
... | ... |
@@ -134,8 +130,7 @@ func (s *DockerSuite) TestContainerRestartSuccess(c *check.C) { |
134 | 134 |
id := strings.TrimSpace(out) |
135 | 135 |
c.Assert(waitRun(id), check.IsNil) |
136 | 136 |
|
137 |
- pidStr, err := inspectField(id, "State.Pid") |
|
138 |
- c.Assert(err, check.IsNil) |
|
137 |
+ pidStr := inspectField(c, id, "State.Pid") |
|
139 | 138 |
|
140 | 139 |
pid, err := strconv.Atoi(pidStr) |
141 | 140 |
c.Assert(err, check.IsNil) |
... | ... |
@@ -172,8 +167,7 @@ func (s *DockerSuite) TestUserDefinedNetworkWithRestartPolicy(c *check.C) { |
172 | 172 |
c.Assert(err, check.IsNil) |
173 | 173 |
|
174 | 174 |
// Now kill the second container and let the restart policy kick in |
175 |
- pidStr, err := inspectField("second", "State.Pid") |
|
176 |
- c.Assert(err, check.IsNil) |
|
175 |
+ pidStr := inspectField(c, "second", "State.Pid") |
|
177 | 176 |
|
178 | 177 |
pid, err := strconv.Atoi(pidStr) |
179 | 178 |
c.Assert(err, check.IsNil) |
... | ... |
@@ -82,8 +82,7 @@ func (s *DockerSuite) TestRmiImgIDMultipleTag(c *check.C) { |
82 | 82 |
// tag busybox to create 2 more images with same imageID |
83 | 83 |
c.Assert(strings.Count(imagesAfter, "\n"), checker.Equals, strings.Count(imagesBefore, "\n")+2, check.Commentf("docker images shows: %q\n", imagesAfter)) |
84 | 84 |
|
85 |
- imgID, err := inspectField("busybox-one:tag1", "Id") |
|
86 |
- c.Assert(err, checker.IsNil) |
|
85 |
+ imgID := inspectField(c, "busybox-one:tag1", "Id") |
|
87 | 86 |
|
88 | 87 |
// run a container with the image |
89 | 88 |
out, _ = runSleepingContainerInImage(c, "busybox-one") |
... | ... |
@@ -91,7 +90,7 @@ func (s *DockerSuite) TestRmiImgIDMultipleTag(c *check.C) { |
91 | 91 |
containerID = strings.TrimSpace(out) |
92 | 92 |
|
93 | 93 |
// first checkout without force it fails |
94 |
- out, _, err = dockerCmdWithError("rmi", imgID) |
|
94 |
+ out, _, err := dockerCmdWithError("rmi", imgID) |
|
95 | 95 |
expected := fmt.Sprintf("conflict: unable to delete %s (cannot be forced) - image is being used by running container %s", stringid.TruncateID(imgID), stringid.TruncateID(containerID)) |
96 | 96 |
// rmi tagged in multiple repos should have failed without force |
97 | 97 |
c.Assert(err, checker.NotNil) |
... | ... |
@@ -128,11 +127,10 @@ func (s *DockerSuite) TestRmiImgIDForce(c *check.C) { |
128 | 128 |
imagesAfter, _ := dockerCmd(c, "images", "-a") |
129 | 129 |
c.Assert(strings.Count(imagesAfter, "\n"), checker.Equals, strings.Count(imagesBefore, "\n")+4, check.Commentf("before: %q\n\nafter: %q\n", imagesBefore, imagesAfter)) |
130 | 130 |
} |
131 |
- imgID, err := inspectField("busybox-test", "Id") |
|
132 |
- c.Assert(err, checker.IsNil) |
|
131 |
+ imgID := inspectField(c, "busybox-test", "Id") |
|
133 | 132 |
|
134 | 133 |
// first checkout without force it fails |
135 |
- out, _, err = dockerCmdWithError("rmi", imgID) |
|
134 |
+ out, _, err := dockerCmdWithError("rmi", imgID) |
|
136 | 135 |
// rmi tagged in multiple repos should have failed without force |
137 | 136 |
c.Assert(err, checker.NotNil) |
138 | 137 |
// rmi tagged in multiple repos should have failed without force |
... | ... |
@@ -317,8 +315,7 @@ RUN echo 2 #layer2 |
317 | 317 |
} |
318 | 318 |
|
319 | 319 |
func (*DockerSuite) TestRmiParentImageFail(c *check.C) { |
320 |
- parent, err := inspectField("busybox", "Parent") |
|
321 |
- c.Assert(err, check.IsNil) |
|
320 |
+ parent := inspectField(c, "busybox", "Parent") |
|
322 | 321 |
out, _, err := dockerCmdWithError("rmi", parent) |
323 | 322 |
c.Assert(err, check.NotNil) |
324 | 323 |
if !strings.Contains(out, "image has dependent child images") { |
... | ... |
@@ -354,14 +351,12 @@ func (s *DockerSuite) TestRmiByIDHardConflict(c *check.C) { |
354 | 354 |
testRequires(c, DaemonIsLinux) |
355 | 355 |
dockerCmd(c, "create", "busybox") |
356 | 356 |
|
357 |
- imgID, err := inspectField("busybox:latest", "Id") |
|
358 |
- c.Assert(err, checker.IsNil) |
|
357 |
+ imgID := inspectField(c, "busybox:latest", "Id") |
|
359 | 358 |
|
360 |
- _, _, err = dockerCmdWithError("rmi", imgID[:12]) |
|
359 |
+ _, _, err := dockerCmdWithError("rmi", imgID[:12]) |
|
361 | 360 |
c.Assert(err, checker.NotNil) |
362 | 361 |
|
363 | 362 |
// check that tag was not removed |
364 |
- imgID2, err := inspectField("busybox:latest", "Id") |
|
365 |
- c.Assert(err, checker.IsNil) |
|
363 |
+ imgID2 := inspectField(c, "busybox:latest", "Id") |
|
366 | 364 |
c.Assert(imgID, checker.Equals, imgID2) |
367 | 365 |
} |
... | ... |
@@ -174,8 +174,7 @@ func (s *DockerSuite) TestRunLinksContainerWithContainerName(c *check.C) { |
174 | 174 |
testRequires(c, DaemonIsLinux) |
175 | 175 |
dockerCmd(c, "run", "-i", "-t", "-d", "--name", "parent", "busybox") |
176 | 176 |
|
177 |
- ip, err := inspectField("parent", "NetworkSettings.Networks.bridge.IPAddress") |
|
178 |
- c.Assert(err, check.IsNil) |
|
177 |
+ ip := inspectField(c, "parent", "NetworkSettings.Networks.bridge.IPAddress") |
|
179 | 178 |
|
180 | 179 |
out, _ := dockerCmd(c, "run", "--link", "parent:test", "busybox", "/bin/cat", "/etc/hosts") |
181 | 180 |
if !strings.Contains(out, ip+" test") { |
... | ... |
@@ -191,8 +190,7 @@ func (s *DockerSuite) TestRunLinksContainerWithContainerId(c *check.C) { |
191 | 191 |
cID, _ := dockerCmd(c, "run", "-i", "-t", "-d", "busybox") |
192 | 192 |
|
193 | 193 |
cID = strings.TrimSpace(cID) |
194 |
- ip, err := inspectField(cID, "NetworkSettings.Networks.bridge.IPAddress") |
|
195 |
- c.Assert(err, check.IsNil) |
|
194 |
+ ip := inspectField(c, cID, "NetworkSettings.Networks.bridge.IPAddress") |
|
196 | 195 |
|
197 | 196 |
out, _ := dockerCmd(c, "run", "--link", cID+":test", "busybox", "/bin/cat", "/etc/hosts") |
198 | 197 |
if !strings.Contains(out, ip+" test") { |
... | ... |
@@ -560,9 +558,7 @@ func (s *DockerSuite) TestRunCreateVolumeWithSymlink(c *check.C) { |
560 | 560 |
} |
561 | 561 |
|
562 | 562 |
volPath, err := inspectMountSourceField("test-createvolumewithsymlink", "/bar/foo") |
563 |
- if err != nil { |
|
564 |
- c.Fatalf("[inspect] err: %v", err) |
|
565 |
- } |
|
563 |
+ c.Assert(err, checker.IsNil) |
|
566 | 564 |
|
567 | 565 |
_, exitCode, err = dockerCmdWithError("rm", "-v", "test-createvolumewithsymlink") |
568 | 566 |
if err != nil || exitCode != 0 { |
... | ... |
@@ -1591,37 +1587,31 @@ func (s *DockerSuite) TestRunState(c *check.C) { |
1591 | 1591 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "top") |
1592 | 1592 |
|
1593 | 1593 |
id := strings.TrimSpace(out) |
1594 |
- state, err := inspectField(id, "State.Running") |
|
1595 |
- c.Assert(err, check.IsNil) |
|
1594 |
+ state := inspectField(c, id, "State.Running") |
|
1596 | 1595 |
if state != "true" { |
1597 | 1596 |
c.Fatal("Container state is 'not running'") |
1598 | 1597 |
} |
1599 |
- pid1, err := inspectField(id, "State.Pid") |
|
1600 |
- c.Assert(err, check.IsNil) |
|
1598 |
+ pid1 := inspectField(c, id, "State.Pid") |
|
1601 | 1599 |
if pid1 == "0" { |
1602 | 1600 |
c.Fatal("Container state Pid 0") |
1603 | 1601 |
} |
1604 | 1602 |
|
1605 | 1603 |
dockerCmd(c, "stop", id) |
1606 |
- state, err = inspectField(id, "State.Running") |
|
1607 |
- c.Assert(err, check.IsNil) |
|
1604 |
+ state = inspectField(c, id, "State.Running") |
|
1608 | 1605 |
if state != "false" { |
1609 | 1606 |
c.Fatal("Container state is 'running'") |
1610 | 1607 |
} |
1611 |
- pid2, err := inspectField(id, "State.Pid") |
|
1612 |
- c.Assert(err, check.IsNil) |
|
1608 |
+ pid2 := inspectField(c, id, "State.Pid") |
|
1613 | 1609 |
if pid2 == pid1 { |
1614 | 1610 |
c.Fatalf("Container state Pid %s, but expected %s", pid2, pid1) |
1615 | 1611 |
} |
1616 | 1612 |
|
1617 | 1613 |
dockerCmd(c, "start", id) |
1618 |
- state, err = inspectField(id, "State.Running") |
|
1619 |
- c.Assert(err, check.IsNil) |
|
1614 |
+ state = inspectField(c, id, "State.Running") |
|
1620 | 1615 |
if state != "true" { |
1621 | 1616 |
c.Fatal("Container state is 'not running'") |
1622 | 1617 |
} |
1623 |
- pid3, err := inspectField(id, "State.Pid") |
|
1624 |
- c.Assert(err, check.IsNil) |
|
1618 |
+ pid3 := inspectField(c, id, "State.Pid") |
|
1625 | 1619 |
if pid3 == pid1 { |
1626 | 1620 |
c.Fatalf("Container state Pid %s, but expected %s", pid2, pid1) |
1627 | 1621 |
} |
... | ... |
@@ -1760,8 +1750,7 @@ func (s *DockerSuite) TestRunExitOnStdinClose(c *check.C) { |
1760 | 1760 |
case <-time.After(time.Duration(delay) * time.Second): |
1761 | 1761 |
c.Fatal("docker run failed to exit on stdin close") |
1762 | 1762 |
} |
1763 |
- state, err := inspectField(name, "State.Running") |
|
1764 |
- c.Assert(err, check.IsNil) |
|
1763 |
+ state := inspectField(c, name, "State.Running") |
|
1765 | 1764 |
|
1766 | 1765 |
if state != "false" { |
1767 | 1766 |
c.Fatal("Container must be stopped after stdin closing") |
... | ... |
@@ -2002,8 +1991,7 @@ func (s *DockerSuite) TestRunInspectMacAddress(c *check.C) { |
2002 | 2002 |
out, _ := dockerCmd(c, "run", "-d", "--mac-address="+mac, "busybox", "top") |
2003 | 2003 |
|
2004 | 2004 |
id := strings.TrimSpace(out) |
2005 |
- inspectedMac, err := inspectField(id, "NetworkSettings.Networks.bridge.MacAddress") |
|
2006 |
- c.Assert(err, check.IsNil) |
|
2005 |
+ inspectedMac := inspectField(c, id, "NetworkSettings.Networks.bridge.MacAddress") |
|
2007 | 2006 |
if inspectedMac != mac { |
2008 | 2007 |
c.Fatalf("docker inspect outputs wrong MAC address: %q, should be: %q", inspectedMac, mac) |
2009 | 2008 |
} |
... | ... |
@@ -2025,11 +2013,10 @@ func (s *DockerSuite) TestRunDeallocatePortOnMissingIptablesRule(c *check.C) { |
2025 | 2025 |
out, _ := dockerCmd(c, "run", "-d", "-p", "23:23", "busybox", "top") |
2026 | 2026 |
|
2027 | 2027 |
id := strings.TrimSpace(out) |
2028 |
- ip, err := inspectField(id, "NetworkSettings.Networks.bridge.IPAddress") |
|
2029 |
- c.Assert(err, check.IsNil) |
|
2028 |
+ ip := inspectField(c, id, "NetworkSettings.Networks.bridge.IPAddress") |
|
2030 | 2029 |
iptCmd := exec.Command("iptables", "-D", "DOCKER", "-d", fmt.Sprintf("%s/32", ip), |
2031 | 2030 |
"!", "-i", "docker0", "-o", "docker0", "-p", "tcp", "-m", "tcp", "--dport", "23", "-j", "ACCEPT") |
2032 |
- out, _, err = runCommandWithOutput(iptCmd) |
|
2031 |
+ out, _, err := runCommandWithOutput(iptCmd) |
|
2033 | 2032 |
if err != nil { |
2034 | 2033 |
c.Fatal(err, out) |
2035 | 2034 |
} |
... | ... |
@@ -2288,10 +2275,9 @@ func (s *DockerSuite) TestRunAllowPortRangeThroughExpose(c *check.C) { |
2288 | 2288 |
out, _ := dockerCmd(c, "run", "-d", "--expose", "3000-3003", "-P", "busybox", "top") |
2289 | 2289 |
|
2290 | 2290 |
id := strings.TrimSpace(out) |
2291 |
- portstr, err := inspectFieldJSON(id, "NetworkSettings.Ports") |
|
2292 |
- c.Assert(err, check.IsNil) |
|
2291 |
+ portstr := inspectFieldJSON(c, id, "NetworkSettings.Ports") |
|
2293 | 2292 |
var ports nat.PortMap |
2294 |
- if err = unmarshalJSON([]byte(portstr), &ports); err != nil { |
|
2293 |
+ if err := unmarshalJSON([]byte(portstr), &ports); err != nil { |
|
2295 | 2294 |
c.Fatal(err) |
2296 | 2295 |
} |
2297 | 2296 |
for port, binding := range ports { |
... | ... |
@@ -2332,8 +2318,7 @@ func (s *DockerSuite) TestRunUnknownCommand(c *check.C) { |
2332 | 2332 |
c.Assert(err, check.NotNil) |
2333 | 2333 |
} |
2334 | 2334 |
|
2335 |
- rc, err := inspectField(cID, "State.ExitCode") |
|
2336 |
- c.Assert(err, check.IsNil) |
|
2335 |
+ rc := inspectField(c, cID, "State.ExitCode") |
|
2337 | 2336 |
if rc == "0" { |
2338 | 2337 |
c.Fatalf("ExitCode(%v) cannot be 0", rc) |
2339 | 2338 |
} |
... | ... |
@@ -2368,13 +2353,11 @@ func (s *DockerSuite) TestRunModeIpcContainer(c *check.C) { |
2368 | 2368 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "sh", "-c", "echo -n test > /dev/shm/test && top") |
2369 | 2369 |
|
2370 | 2370 |
id := strings.TrimSpace(out) |
2371 |
- state, err := inspectField(id, "State.Running") |
|
2372 |
- c.Assert(err, check.IsNil) |
|
2371 |
+ state := inspectField(c, id, "State.Running") |
|
2373 | 2372 |
if state != "true" { |
2374 | 2373 |
c.Fatal("Container state is 'not running'") |
2375 | 2374 |
} |
2376 |
- pid1, err := inspectField(id, "State.Pid") |
|
2377 |
- c.Assert(err, check.IsNil) |
|
2375 |
+ pid1 := inspectField(c, id, "State.Pid") |
|
2378 | 2376 |
|
2379 | 2377 |
parentContainerIpc, err := os.Readlink(fmt.Sprintf("/proc/%s/ns/ipc", pid1)) |
2380 | 2378 |
if err != nil { |
... | ... |
@@ -2421,7 +2404,7 @@ func (s *DockerSuite) TestRunMountShmMqueueFromHost(c *check.C) { |
2421 | 2421 |
|
2422 | 2422 |
dockerCmd(c, "run", "-d", "--name", "shmfromhost", "-v", "/dev/shm:/dev/shm", "busybox", "sh", "-c", "echo -n test > /dev/shm/test && top") |
2423 | 2423 |
volPath, err := inspectMountSourceField("shmfromhost", "/dev/shm") |
2424 |
- c.Assert(err, check.IsNil) |
|
2424 |
+ c.Assert(err, checker.IsNil) |
|
2425 | 2425 |
if volPath != "/dev/shm" { |
2426 | 2426 |
c.Fatalf("volumePath should have been /dev/shm, was %s", volPath) |
2427 | 2427 |
} |
... | ... |
@@ -2439,8 +2422,7 @@ func (s *DockerSuite) TestContainerNetworkMode(c *check.C) { |
2439 | 2439 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "top") |
2440 | 2440 |
id := strings.TrimSpace(out) |
2441 | 2441 |
c.Assert(waitRun(id), check.IsNil) |
2442 |
- pid1, err := inspectField(id, "State.Pid") |
|
2443 |
- c.Assert(err, check.IsNil) |
|
2442 |
+ pid1 := inspectField(c, id, "State.Pid") |
|
2444 | 2443 |
|
2445 | 2444 |
parentContainerNet, err := os.Readlink(fmt.Sprintf("/proc/%s/ns/net", pid1)) |
2446 | 2445 |
if err != nil { |
... | ... |
@@ -2652,11 +2634,11 @@ func (s *DockerSuite) TestRunAllowPortRangeThroughPublish(c *check.C) { |
2652 | 2652 |
out, _ := dockerCmd(c, "run", "-d", "--expose", "3000-3003", "-p", "3000-3003", "busybox", "top") |
2653 | 2653 |
|
2654 | 2654 |
id := strings.TrimSpace(out) |
2655 |
- portstr, err := inspectFieldJSON(id, "NetworkSettings.Ports") |
|
2656 |
- c.Assert(err, check.IsNil) |
|
2655 |
+ portstr := inspectFieldJSON(c, id, "NetworkSettings.Ports") |
|
2657 | 2656 |
|
2658 | 2657 |
var ports nat.PortMap |
2659 |
- err = unmarshalJSON([]byte(portstr), &ports) |
|
2658 |
+ err := unmarshalJSON([]byte(portstr), &ports) |
|
2659 |
+ c.Assert(err, checker.IsNil, check.Commentf("failed to unmarshal: %v", portstr)) |
|
2660 | 2660 |
for port, binding := range ports { |
2661 | 2661 |
portnum, _ := strconv.Atoi(strings.Split(string(port), "/")[0]) |
2662 | 2662 |
if portnum < 3000 || portnum > 3003 { |
... | ... |
@@ -2670,8 +2652,7 @@ func (s *DockerSuite) TestRunAllowPortRangeThroughPublish(c *check.C) { |
2670 | 2670 |
|
2671 | 2671 |
func (s *DockerSuite) TestRunSetDefaultRestartPolicy(c *check.C) { |
2672 | 2672 |
dockerCmd(c, "run", "-d", "--name", "test", "busybox", "sleep", "30") |
2673 |
- out, err := inspectField("test", "HostConfig.RestartPolicy.Name") |
|
2674 |
- c.Assert(err, check.IsNil) |
|
2673 |
+ out := inspectField(c, "test", "HostConfig.RestartPolicy.Name") |
|
2675 | 2674 |
if out != "no" { |
2676 | 2675 |
c.Fatalf("Set default restart policy failed") |
2677 | 2676 |
} |
... | ... |
@@ -2689,14 +2670,12 @@ func (s *DockerSuite) TestRunRestartMaxRetries(c *check.C) { |
2689 | 2689 |
c.Fatal(err) |
2690 | 2690 |
} |
2691 | 2691 |
|
2692 |
- count, err := inspectField(id, "RestartCount") |
|
2693 |
- c.Assert(err, check.IsNil) |
|
2692 |
+ count := inspectField(c, id, "RestartCount") |
|
2694 | 2693 |
if count != "3" { |
2695 | 2694 |
c.Fatalf("Container was restarted %s times, expected %d", count, 3) |
2696 | 2695 |
} |
2697 | 2696 |
|
2698 |
- MaximumRetryCount, err := inspectField(id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
2699 |
- c.Assert(err, check.IsNil) |
|
2697 |
+ MaximumRetryCount := inspectField(c, id, "HostConfig.RestartPolicy.MaximumRetryCount") |
|
2700 | 2698 |
if MaximumRetryCount != "3" { |
2701 | 2699 |
c.Fatalf("Container Maximum Retry Count is %s, expected %s", MaximumRetryCount, "3") |
2702 | 2700 |
} |
... | ... |
@@ -3043,14 +3022,14 @@ func (s *DockerSuite) TestVolumeFromMixedRWOptions(c *check.C) { |
3043 | 3043 |
|
3044 | 3044 |
if daemonPlatform != "windows" { |
3045 | 3045 |
mRO, err := inspectMountPoint("test-volumes-1", prefix+slash+"test") |
3046 |
- c.Assert(err, check.IsNil) |
|
3046 |
+ c.Assert(err, checker.IsNil, check.Commentf("failed to inspect mount point")) |
|
3047 | 3047 |
if mRO.RW { |
3048 | 3048 |
c.Fatalf("Expected RO volume was RW") |
3049 | 3049 |
} |
3050 | 3050 |
} |
3051 | 3051 |
|
3052 | 3052 |
mRW, err := inspectMountPoint("test-volumes-2", prefix+slash+"test") |
3053 |
- c.Assert(err, check.IsNil) |
|
3053 |
+ c.Assert(err, checker.IsNil, check.Commentf("failed to inspect mount point")) |
|
3054 | 3054 |
if !mRW.RW { |
3055 | 3055 |
c.Fatalf("Expected RW volume was RO") |
3056 | 3056 |
} |
... | ... |
@@ -3316,10 +3295,9 @@ func (s *DockerSuite) TestPtraceContainerProcsFromHost(c *check.C) { |
3316 | 3316 |
out, _ := dockerCmd(c, "run", "-d", "busybox", "top") |
3317 | 3317 |
id := strings.TrimSpace(out) |
3318 | 3318 |
c.Assert(waitRun(id), check.IsNil) |
3319 |
- pid1, err := inspectField(id, "State.Pid") |
|
3320 |
- c.Assert(err, check.IsNil) |
|
3319 |
+ pid1 := inspectField(c, id, "State.Pid") |
|
3321 | 3320 |
|
3322 |
- _, err = os.Readlink(fmt.Sprintf("/proc/%s/ns/net", pid1)) |
|
3321 |
+ _, err := os.Readlink(fmt.Sprintf("/proc/%s/ns/net", pid1)) |
|
3323 | 3322 |
if err != nil { |
3324 | 3323 |
c.Fatal(err) |
3325 | 3324 |
} |
... | ... |
@@ -3375,7 +3353,8 @@ func (s *DockerSuite) TestRunCreateContainerFailedCleanUp(c *check.C) { |
3375 | 3375 |
_, _, err := dockerCmdWithError("run", "--name", name, "--link", "nothing:nothing", "busybox") |
3376 | 3376 |
c.Assert(err, check.NotNil, check.Commentf("Expected docker run to fail!")) |
3377 | 3377 |
|
3378 |
- containerID, err := inspectField(name, "Id") |
|
3378 |
+ containerID, err := inspectFieldWithError(name, "Id") |
|
3379 |
+ c.Assert(err, checker.NotNil, check.Commentf("Expected not to have this container: %s!", containerID)) |
|
3379 | 3380 |
c.Assert(containerID, check.Equals, "", check.Commentf("Expected not to have this container: %s!", containerID)) |
3380 | 3381 |
} |
3381 | 3382 |
|
... | ... |
@@ -3677,8 +3656,7 @@ func (s *DockerSuite) TestRunNetworkNotInitializedNoneMode(c *check.C) { |
3677 | 3677 |
testRequires(c, DaemonIsLinux) |
3678 | 3678 |
out, _ := dockerCmd(c, "run", "-d", "--net=none", "busybox", "top") |
3679 | 3679 |
id := strings.TrimSpace(out) |
3680 |
- res, err := inspectField(id, "NetworkSettings.Networks.none.IPAddress") |
|
3681 |
- c.Assert(err, check.IsNil) |
|
3680 |
+ res := inspectField(c, id, "NetworkSettings.Networks.none.IPAddress") |
|
3682 | 3681 |
if res != "" { |
3683 | 3682 |
c.Fatalf("For 'none' mode network must not be initialized, but container got IP: %s", res) |
3684 | 3683 |
} |
... | ... |
@@ -130,8 +130,7 @@ func (s *DockerSuite) TestRunAttachDetach(c *check.C) { |
130 | 130 |
c.Fatal("timed out waiting for container to exit") |
131 | 131 |
} |
132 | 132 |
|
133 |
- running, err := inspectField(name, "State.Running") |
|
134 |
- c.Assert(err, checker.IsNil) |
|
133 |
+ running := inspectField(c, name, "State.Running") |
|
135 | 134 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
136 | 135 |
} |
137 | 136 |
|
... | ... |
@@ -192,8 +191,7 @@ func (s *DockerSuite) TestRunAttachDetachFromFlag(c *check.C) { |
192 | 192 |
c.Fatal("timed out waiting for container to exit") |
193 | 193 |
} |
194 | 194 |
|
195 |
- running, err := inspectField(name, "State.Running") |
|
196 |
- c.Assert(err, checker.IsNil) |
|
195 |
+ running := inspectField(c, name, "State.Running") |
|
197 | 196 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
198 | 197 |
} |
199 | 198 |
|
... | ... |
@@ -276,8 +274,7 @@ func (s *DockerSuite) TestRunAttachDetachFromConfig(c *check.C) { |
276 | 276 |
c.Fatal("timed out waiting for container to exit") |
277 | 277 |
} |
278 | 278 |
|
279 |
- running, err := inspectField(name, "State.Running") |
|
280 |
- c.Assert(err, checker.IsNil) |
|
279 |
+ running := inspectField(c, name, "State.Running") |
|
281 | 280 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
282 | 281 |
} |
283 | 282 |
|
... | ... |
@@ -360,8 +357,7 @@ func (s *DockerSuite) TestRunAttachDetachKeysOverrideConfig(c *check.C) { |
360 | 360 |
c.Fatal("timed out waiting for container to exit") |
361 | 361 |
} |
362 | 362 |
|
363 |
- running, err := inspectField(name, "State.Running") |
|
364 |
- c.Assert(err, checker.IsNil) |
|
363 |
+ running := inspectField(c, name, "State.Running") |
|
365 | 364 |
c.Assert(running, checker.Equals, "true", check.Commentf("expected container to still be running")) |
366 | 365 |
} |
367 | 366 |
|
... | ... |
@@ -373,8 +369,7 @@ func (s *DockerSuite) TestRunWithCPUQuota(c *check.C) { |
373 | 373 |
out, _ := dockerCmd(c, "run", "--cpu-quota", "8000", "--name", "test", "busybox", "cat", file) |
374 | 374 |
c.Assert(strings.TrimSpace(out), checker.Equals, "8000") |
375 | 375 |
|
376 |
- out, err := inspectField("test", "HostConfig.CpuQuota") |
|
377 |
- c.Assert(err, check.IsNil) |
|
376 |
+ out = inspectField(c, "test", "HostConfig.CpuQuota") |
|
378 | 377 |
c.Assert(out, checker.Equals, "8000", check.Commentf("setting the CPU CFS quota failed")) |
379 | 378 |
} |
380 | 379 |
|
... | ... |
@@ -385,8 +380,7 @@ func (s *DockerSuite) TestRunWithCpuPeriod(c *check.C) { |
385 | 385 |
out, _ := dockerCmd(c, "run", "--cpu-period", "50000", "--name", "test", "busybox", "cat", file) |
386 | 386 |
c.Assert(strings.TrimSpace(out), checker.Equals, "50000") |
387 | 387 |
|
388 |
- out, err := inspectField("test", "HostConfig.CpuPeriod") |
|
389 |
- c.Assert(err, check.IsNil) |
|
388 |
+ out = inspectField(c, "test", "HostConfig.CpuPeriod") |
|
390 | 389 |
c.Assert(out, checker.Equals, "50000", check.Commentf("setting the CPU CFS period failed")) |
391 | 390 |
} |
392 | 391 |
|
... | ... |
@@ -397,8 +391,7 @@ func (s *DockerSuite) TestRunWithKernelMemory(c *check.C) { |
397 | 397 |
stdout, _, _ := dockerCmdWithStdoutStderr(c, "run", "--kernel-memory", "50M", "--name", "test1", "busybox", "cat", file) |
398 | 398 |
c.Assert(strings.TrimSpace(stdout), checker.Equals, "52428800") |
399 | 399 |
|
400 |
- out, err := inspectField("test1", "HostConfig.KernelMemory") |
|
401 |
- c.Assert(err, check.IsNil) |
|
400 |
+ out := inspectField(c, "test1", "HostConfig.KernelMemory") |
|
402 | 401 |
c.Assert(out, check.Equals, "52428800") |
403 | 402 |
} |
404 | 403 |
|
... | ... |
@@ -423,8 +416,7 @@ func (s *DockerSuite) TestRunWithCPUShares(c *check.C) { |
423 | 423 |
out, _ := dockerCmd(c, "run", "--cpu-shares", "1000", "--name", "test", "busybox", "cat", file) |
424 | 424 |
c.Assert(strings.TrimSpace(out), checker.Equals, "1000") |
425 | 425 |
|
426 |
- out, err := inspectField("test", "HostConfig.CPUShares") |
|
427 |
- c.Assert(err, check.IsNil) |
|
426 |
+ out = inspectField(c, "test", "HostConfig.CPUShares") |
|
428 | 427 |
c.Assert(out, check.Equals, "1000") |
429 | 428 |
} |
430 | 429 |
|
... | ... |
@@ -443,8 +435,7 @@ func (s *DockerSuite) TestRunWithCpusetCpus(c *check.C) { |
443 | 443 |
out, _ := dockerCmd(c, "run", "--cpuset-cpus", "0", "--name", "test", "busybox", "cat", file) |
444 | 444 |
c.Assert(strings.TrimSpace(out), checker.Equals, "0") |
445 | 445 |
|
446 |
- out, err := inspectField("test", "HostConfig.CpusetCpus") |
|
447 |
- c.Assert(err, check.IsNil) |
|
446 |
+ out = inspectField(c, "test", "HostConfig.CpusetCpus") |
|
448 | 447 |
c.Assert(out, check.Equals, "0") |
449 | 448 |
} |
450 | 449 |
|
... | ... |
@@ -455,8 +446,7 @@ func (s *DockerSuite) TestRunWithCpusetMems(c *check.C) { |
455 | 455 |
out, _ := dockerCmd(c, "run", "--cpuset-mems", "0", "--name", "test", "busybox", "cat", file) |
456 | 456 |
c.Assert(strings.TrimSpace(out), checker.Equals, "0") |
457 | 457 |
|
458 |
- out, err := inspectField("test", "HostConfig.CpusetMems") |
|
459 |
- c.Assert(err, check.IsNil) |
|
458 |
+ out = inspectField(c, "test", "HostConfig.CpusetMems") |
|
460 | 459 |
c.Assert(out, check.Equals, "0") |
461 | 460 |
} |
462 | 461 |
|
... | ... |
@@ -467,8 +457,7 @@ func (s *DockerSuite) TestRunWithBlkioWeight(c *check.C) { |
467 | 467 |
out, _ := dockerCmd(c, "run", "--blkio-weight", "300", "--name", "test", "busybox", "cat", file) |
468 | 468 |
c.Assert(strings.TrimSpace(out), checker.Equals, "300") |
469 | 469 |
|
470 |
- out, err := inspectField("test", "HostConfig.BlkioWeight") |
|
471 |
- c.Assert(err, check.IsNil) |
|
470 |
+ out = inspectField(c, "test", "HostConfig.BlkioWeight") |
|
472 | 471 |
c.Assert(out, check.Equals, "300") |
473 | 472 |
} |
474 | 473 |
|
... | ... |
@@ -537,8 +526,7 @@ func (s *DockerSuite) TestRunWithMemoryLimit(c *check.C) { |
537 | 537 |
stdout, _, _ := dockerCmdWithStdoutStderr(c, "run", "-m", "32M", "--name", "test", "busybox", "cat", file) |
538 | 538 |
c.Assert(strings.TrimSpace(stdout), checker.Equals, "33554432") |
539 | 539 |
|
540 |
- out, err := inspectField("test", "HostConfig.Memory") |
|
541 |
- c.Assert(err, check.IsNil) |
|
540 |
+ out := inspectField(c, "test", "HostConfig.Memory") |
|
542 | 541 |
c.Assert(out, check.Equals, "33554432") |
543 | 542 |
} |
544 | 543 |
|
... | ... |
@@ -559,8 +547,7 @@ func (s *DockerSuite) TestRunWithSwappiness(c *check.C) { |
559 | 559 |
out, _ := dockerCmd(c, "run", "--memory-swappiness", "0", "--name", "test", "busybox", "cat", file) |
560 | 560 |
c.Assert(strings.TrimSpace(out), checker.Equals, "0") |
561 | 561 |
|
562 |
- out, err := inspectField("test", "HostConfig.MemorySwappiness") |
|
563 |
- c.Assert(err, check.IsNil) |
|
562 |
+ out = inspectField(c, "test", "HostConfig.MemorySwappiness") |
|
564 | 563 |
c.Assert(out, check.Equals, "0") |
565 | 564 |
} |
566 | 565 |
|
... | ... |
@@ -583,8 +570,7 @@ func (s *DockerSuite) TestRunWithMemoryReservation(c *check.C) { |
583 | 583 |
out, _ := dockerCmd(c, "run", "--memory-reservation", "200M", "--name", "test", "busybox", "cat", file) |
584 | 584 |
c.Assert(strings.TrimSpace(out), checker.Equals, "209715200") |
585 | 585 |
|
586 |
- out, err := inspectField("test", "HostConfig.MemoryReservation") |
|
587 |
- c.Assert(err, check.IsNil) |
|
586 |
+ out = inspectField(c, "test", "HostConfig.MemoryReservation") |
|
588 | 587 |
c.Assert(out, check.Equals, "209715200") |
589 | 588 |
} |
590 | 589 |
|
... | ... |
@@ -684,8 +670,7 @@ func (s *DockerSuite) TestRunWithDefaultShmSize(c *check.C) { |
684 | 684 |
if !shmRegex.MatchString(out) { |
685 | 685 |
c.Fatalf("Expected shm of 64MB in mount command, got %v", out) |
686 | 686 |
} |
687 |
- shmSize, err := inspectField(name, "HostConfig.ShmSize") |
|
688 |
- c.Assert(err, check.IsNil) |
|
687 |
+ shmSize := inspectField(c, name, "HostConfig.ShmSize") |
|
689 | 688 |
c.Assert(shmSize, check.Equals, "67108864") |
690 | 689 |
} |
691 | 690 |
|
... | ... |
@@ -698,8 +683,7 @@ func (s *DockerSuite) TestRunWithShmSize(c *check.C) { |
698 | 698 |
if !shmRegex.MatchString(out) { |
699 | 699 |
c.Fatalf("Expected shm of 1GB in mount command, got %v", out) |
700 | 700 |
} |
701 |
- shmSize, err := inspectField(name, "HostConfig.ShmSize") |
|
702 |
- c.Assert(err, check.IsNil) |
|
701 |
+ shmSize := inspectField(c, name, "HostConfig.ShmSize") |
|
703 | 702 |
c.Assert(shmSize, check.Equals, "1073741824") |
704 | 703 |
} |
705 | 704 |
|
... | ... |
@@ -223,7 +223,7 @@ func (s *DockerSuite) TestSaveRepoWithMultipleImages(c *check.C) { |
223 | 223 |
} |
224 | 224 |
|
225 | 225 |
// make the list of expected layers |
226 |
- out, _ = dockerCmd(c, "inspect", "-f", "{{.Id}}", "busybox:latest") |
|
226 |
+ out = inspectField(c, "busybox:latest", "Id") |
|
227 | 227 |
expected := []string{strings.TrimSpace(out), idFoo, idBar} |
228 | 228 |
|
229 | 229 |
// prefixes are not in tar |
... | ... |
@@ -6,6 +6,7 @@ import ( |
6 | 6 |
"io/ioutil" |
7 | 7 |
"os" |
8 | 8 |
"os/exec" |
9 |
+ "strings" |
|
9 | 10 |
|
10 | 11 |
"github.com/docker/docker/pkg/integration/checker" |
11 | 12 |
"github.com/go-check/check" |
... | ... |
@@ -19,6 +20,7 @@ func (s *DockerSuite) TestSaveAndLoadRepoStdout(c *check.C) { |
19 | 19 |
|
20 | 20 |
repoName := "foobar-save-load-test" |
21 | 21 |
before, _ := dockerCmd(c, "commit", name, repoName) |
22 |
+ before = strings.TrimRight(before, "\n") |
|
22 | 23 |
|
23 | 24 |
tmpFile, err := ioutil.TempFile("", "foobar-save-load-test.tar") |
24 | 25 |
c.Assert(err, check.IsNil) |
... | ... |
@@ -41,9 +43,10 @@ func (s *DockerSuite) TestSaveAndLoadRepoStdout(c *check.C) { |
41 | 41 |
out, _, err := runCommandWithOutput(loadCmd) |
42 | 42 |
c.Assert(err, check.IsNil, check.Commentf(out)) |
43 | 43 |
|
44 |
- after, _ := dockerCmd(c, "inspect", "-f", "{{.Id}}", repoName) |
|
44 |
+ after := inspectField(c, repoName, "Id") |
|
45 |
+ after = strings.TrimRight(after, "\n") |
|
45 | 46 |
|
46 |
- c.Assert(before, check.Equals, after) //inspect is not the same after a save / load |
|
47 |
+ c.Assert(after, check.Equals, before) //inspect is not the same after a save / load |
|
47 | 48 |
|
48 | 49 |
deleteImages(repoName) |
49 | 50 |
|
... | ... |
@@ -72,8 +72,7 @@ func (s *DockerSuite) TestStartRecordError(c *check.C) { |
72 | 72 |
testRequires(c, DaemonIsLinux) |
73 | 73 |
// when container runs successfully, we should not have state.Error |
74 | 74 |
dockerCmd(c, "run", "-d", "-p", "9999:9999", "--name", "test", "busybox", "top") |
75 |
- stateErr, err := inspectField("test", "State.Error") |
|
76 |
- c.Assert(err, checker.IsNil, check.Commentf("stateErr: %s", stateErr)) |
|
75 |
+ stateErr := inspectField(c, "test", "State.Error") |
|
77 | 76 |
// Expected to not have state error |
78 | 77 |
c.Assert(stateErr, checker.Equals, "") |
79 | 78 |
|
... | ... |
@@ -82,15 +81,13 @@ func (s *DockerSuite) TestStartRecordError(c *check.C) { |
82 | 82 |
// err shouldn't be nil because docker run will fail |
83 | 83 |
c.Assert(err, checker.NotNil, check.Commentf("out: %s", out)) |
84 | 84 |
|
85 |
- stateErr, err = inspectField("test2", "State.Error") |
|
86 |
- c.Assert(err, check.IsNil, check.Commentf("stateErr: %s", stateErr)) |
|
85 |
+ stateErr = inspectField(c, "test2", "State.Error") |
|
87 | 86 |
c.Assert(stateErr, checker.Contains, "port is already allocated") |
88 | 87 |
|
89 | 88 |
// Expect the conflict to be resolved when we stop the initial container |
90 | 89 |
dockerCmd(c, "stop", "test") |
91 | 90 |
dockerCmd(c, "start", "test2") |
92 |
- stateErr, err = inspectField("test2", "State.Error") |
|
93 |
- c.Assert(err, check.IsNil, check.Commentf("stateErr: %s", stateErr)) |
|
91 |
+ stateErr = inspectField(c, "test2", "State.Error") |
|
94 | 92 |
// Expected to not have state error but got one |
95 | 93 |
c.Assert(stateErr, checker.Equals, "") |
96 | 94 |
} |
... | ... |
@@ -122,8 +119,7 @@ func (s *DockerSuite) TestStartMultipleContainers(c *check.C) { |
122 | 122 |
// stop 'parent' container |
123 | 123 |
dockerCmd(c, "stop", "parent") |
124 | 124 |
|
125 |
- out, err := inspectField("parent", "State.Running") |
|
126 |
- c.Assert(err, check.IsNil, check.Commentf("out: %s", out)) |
|
125 |
+ out := inspectField(c, "parent", "State.Running") |
|
127 | 126 |
// Container should be stopped |
128 | 127 |
c.Assert(out, checker.Equals, "false") |
129 | 128 |
|
... | ... |
@@ -131,7 +127,7 @@ func (s *DockerSuite) TestStartMultipleContainers(c *check.C) { |
131 | 131 |
// container 'parent' start second and then start container 'child_second' |
132 | 132 |
expOut := "Cannot link to a non running container" |
133 | 133 |
expErr := "failed to start containers: [child_first]" |
134 |
- out, _, err = dockerCmdWithError("start", "child_first", "parent", "child_second") |
|
134 |
+ out, _, err := dockerCmdWithError("start", "child_first", "parent", "child_second") |
|
135 | 135 |
// err shouldn't be nil because start will fail |
136 | 136 |
c.Assert(err, checker.NotNil, check.Commentf("out: %s", out)) |
137 | 137 |
// output does not correspond to what was expected |
... | ... |
@@ -140,9 +136,7 @@ func (s *DockerSuite) TestStartMultipleContainers(c *check.C) { |
140 | 140 |
} |
141 | 141 |
|
142 | 142 |
for container, expected := range map[string]string{"parent": "true", "child_first": "false", "child_second": "true"} { |
143 |
- out, err := inspectField(container, "State.Running") |
|
144 |
- // Container running state wrong |
|
145 |
- c.Assert(err, check.IsNil, check.Commentf("out: %s", out)) |
|
143 |
+ out := inspectField(c, container, "State.Running") |
|
146 | 144 |
// Container running state wrong |
147 | 145 |
c.Assert(out, checker.Equals, expected) |
148 | 146 |
} |
... | ... |
@@ -171,9 +165,7 @@ func (s *DockerSuite) TestStartAttachMultipleContainers(c *check.C) { |
171 | 171 |
|
172 | 172 |
// confirm the state of all the containers be stopped |
173 | 173 |
for container, expected := range map[string]string{"test1": "false", "test2": "false", "test3": "false"} { |
174 |
- out, err := inspectField(container, "State.Running") |
|
175 |
- // Container running state wrong |
|
176 |
- c.Assert(err, check.IsNil, check.Commentf("out: %s", out)) |
|
174 |
+ out := inspectField(c, container, "State.Running") |
|
177 | 175 |
// Container running state wrong |
178 | 176 |
c.Assert(out, checker.Equals, expected) |
179 | 177 |
} |
... | ... |
@@ -383,8 +383,7 @@ func (s *DockerExternalVolumeSuite) TestExternalVolumeDriverBindExternalVolume(c |
383 | 383 |
Name string |
384 | 384 |
Driver string |
385 | 385 |
} |
386 |
- out, err := inspectFieldJSON("testing", "Mounts") |
|
387 |
- c.Assert(err, checker.IsNil) |
|
386 |
+ out := inspectFieldJSON(c, "testing", "Mounts") |
|
388 | 387 |
c.Assert(json.NewDecoder(strings.NewReader(out)).Decode(&mounts), checker.IsNil) |
389 | 388 |
c.Assert(len(mounts), checker.Equals, 1, check.Commentf(out)) |
390 | 389 |
c.Assert(mounts[0].Name, checker.Equals, "foo") |
... | ... |
@@ -25,8 +25,7 @@ func (s *DockerSuite) TestTagUnprefixedRepoByName(c *check.C) { |
25 | 25 |
|
26 | 26 |
// tagging an image by ID in a new unprefixed repo should work |
27 | 27 |
func (s *DockerSuite) TestTagUnprefixedRepoByID(c *check.C) { |
28 |
- imageID, err := inspectField("busybox", "Id") |
|
29 |
- c.Assert(err, check.IsNil) |
|
28 |
+ imageID := inspectField(c, "busybox", "Id") |
|
30 | 29 |
dockerCmd(c, "tag", imageID, "testfoobarbaz") |
31 | 30 |
} |
32 | 31 |
|
... | ... |
@@ -233,10 +232,7 @@ func (s *DockerSuite) TestTagTruncationAmbiguity(c *check.C) { |
233 | 233 |
truncatedImageID := stringid.TruncateID(imageID) |
234 | 234 |
truncatedTag := fmt.Sprintf("notbusybox:%s", truncatedImageID) |
235 | 235 |
|
236 |
- id, err := inspectField(truncatedTag, "Id") |
|
237 |
- if err != nil { |
|
238 |
- c.Fatalf("Error inspecting by image id: %s", err) |
|
239 |
- } |
|
236 |
+ id := inspectField(c, truncatedTag, "Id") |
|
240 | 237 |
|
241 | 238 |
// Ensure inspect by image id returns image for image id |
242 | 239 |
c.Assert(id, checker.Equals, imageID) |
... | ... |
@@ -248,10 +244,7 @@ func (s *DockerSuite) TestTagTruncationAmbiguity(c *check.C) { |
248 | 248 |
c.Fatalf("Error tagging with an image id: %s", err) |
249 | 249 |
} |
250 | 250 |
|
251 |
- id, err = inspectField(truncatedTag, "Id") |
|
252 |
- if err != nil { |
|
253 |
- c.Fatalf("Error inspecting by image id: %s", err) |
|
254 |
- } |
|
251 |
+ id = inspectField(c, truncatedTag, "Id") |
|
255 | 252 |
|
256 | 253 |
// Ensure id is imageID and not busybox:latest |
257 | 254 |
c.Assert(id, checker.Not(checker.Equals), imageID) |
... | ... |
@@ -20,8 +20,7 @@ func (s *DockerSuite) TestUpdateRunningContainer(c *check.C) { |
20 | 20 |
dockerCmd(c, "run", "-d", "--name", name, "-m", "300M", "busybox", "top") |
21 | 21 |
dockerCmd(c, "update", "-m", "500M", name) |
22 | 22 |
|
23 |
- memory, err := inspectField(name, "HostConfig.Memory") |
|
24 |
- c.Assert(err, check.IsNil) |
|
23 |
+ memory := inspectField(c, name, "HostConfig.Memory") |
|
25 | 24 |
if memory != "524288000" { |
26 | 25 |
c.Fatalf("Got the wrong memory value, we got %d, expected 524288000(500M).", memory) |
27 | 26 |
} |
... | ... |
@@ -40,8 +39,7 @@ func (s *DockerSuite) TestUpdateRunningContainerWithRestart(c *check.C) { |
40 | 40 |
dockerCmd(c, "update", "-m", "500M", name) |
41 | 41 |
dockerCmd(c, "restart", name) |
42 | 42 |
|
43 |
- memory, err := inspectField(name, "HostConfig.Memory") |
|
44 |
- c.Assert(err, check.IsNil) |
|
43 |
+ memory := inspectField(c, name, "HostConfig.Memory") |
|
45 | 44 |
if memory != "524288000" { |
46 | 45 |
c.Fatalf("Got the wrong memory value, we got %d, expected 524288000(500M).", memory) |
47 | 46 |
} |
... | ... |
@@ -60,8 +58,7 @@ func (s *DockerSuite) TestUpdateStoppedContainer(c *check.C) { |
60 | 60 |
dockerCmd(c, "run", "--name", name, "-m", "300M", "busybox", "cat", file) |
61 | 61 |
dockerCmd(c, "update", "-m", "500M", name) |
62 | 62 |
|
63 |
- memory, err := inspectField(name, "HostConfig.Memory") |
|
64 |
- c.Assert(err, check.IsNil) |
|
63 |
+ memory := inspectField(c, name, "HostConfig.Memory") |
|
65 | 64 |
if memory != "524288000" { |
66 | 65 |
c.Fatalf("Got the wrong memory value, we got %d, expected 524288000(500M).", memory) |
67 | 66 |
} |
... | ... |
@@ -79,8 +76,7 @@ func (s *DockerSuite) TestUpdatePausedContainer(c *check.C) { |
79 | 79 |
dockerCmd(c, "pause", name) |
80 | 80 |
dockerCmd(c, "update", "--cpu-shares", "500", name) |
81 | 81 |
|
82 |
- out, err := inspectField(name, "HostConfig.CPUShares") |
|
83 |
- c.Assert(err, check.IsNil) |
|
82 |
+ out := inspectField(c, name, "HostConfig.CPUShares") |
|
84 | 83 |
if out != "500" { |
85 | 84 |
c.Fatalf("Got the wrong cpu shares value, we got %d, expected 500.", out) |
86 | 85 |
} |
... | ... |
@@ -101,8 +97,7 @@ func (s *DockerSuite) TestUpdateWithUntouchedFields(c *check.C) { |
101 | 101 |
dockerCmd(c, "update", "-m", "500M", name) |
102 | 102 |
|
103 | 103 |
// Update memory and not touch cpus, `cpuset.cpus` should still have the old value |
104 |
- out, err := inspectField(name, "HostConfig.CPUShares") |
|
105 |
- c.Assert(err, check.IsNil) |
|
104 |
+ out := inspectField(c, name, "HostConfig.CPUShares") |
|
106 | 105 |
c.Assert(out, check.Equals, "800") |
107 | 106 |
|
108 | 107 |
file := "/sys/fs/cgroup/cpu/cpu.shares" |
... | ... |
@@ -142,8 +137,7 @@ func (s *DockerSuite) TestUpdateKernelMemory(c *check.C) { |
142 | 142 |
// Update kernel memory to a running container is not allowed. |
143 | 143 |
c.Assert(err, check.NotNil) |
144 | 144 |
|
145 |
- out, err := inspectField(name, "HostConfig.KernelMemory") |
|
146 |
- c.Assert(err, check.IsNil) |
|
145 |
+ out := inspectField(c, name, "HostConfig.KernelMemory") |
|
147 | 146 |
// Update kernel memory to a running container with failure should not change HostConfig |
148 | 147 |
if out != "52428800" { |
149 | 148 |
c.Fatalf("Got the wrong memory value, we got %d, expected 52428800(50M).", out) |
... | ... |
@@ -153,8 +147,7 @@ func (s *DockerSuite) TestUpdateKernelMemory(c *check.C) { |
153 | 153 |
dockerCmd(c, "update", "--kernel-memory", "100M", name) |
154 | 154 |
dockerCmd(c, "start", name) |
155 | 155 |
|
156 |
- out, err = inspectField(name, "HostConfig.KernelMemory") |
|
157 |
- c.Assert(err, check.IsNil) |
|
156 |
+ out = inspectField(c, name, "HostConfig.KernelMemory") |
|
158 | 157 |
if out != "104857600" { |
159 | 158 |
c.Fatalf("Got the wrong memory value, we got %d, expected 104857600(100M).", out) |
160 | 159 |
} |
... | ... |
@@ -1135,13 +1135,12 @@ COPY . /static`); err != nil { |
1135 | 1135 |
ctx: ctx}, nil |
1136 | 1136 |
} |
1137 | 1137 |
|
1138 |
-func inspectFieldAndMarshall(name, field string, output interface{}) error { |
|
1139 |
- str, err := inspectFieldJSON(name, field) |
|
1140 |
- if err != nil { |
|
1141 |
- return err |
|
1138 |
+func inspectFieldAndMarshall(c *check.C, name, field string, output interface{}) { |
|
1139 |
+ str := inspectFieldJSON(c, name, field) |
|
1140 |
+ err := json.Unmarshal([]byte(str), output) |
|
1141 |
+ if c != nil { |
|
1142 |
+ c.Assert(err, check.IsNil, check.Commentf("failed to unmarshal: %v", err)) |
|
1142 | 1143 |
} |
1143 |
- |
|
1144 |
- return json.Unmarshal([]byte(str), output) |
|
1145 | 1144 |
} |
1146 | 1145 |
|
1147 | 1146 |
func inspectFilter(name, filter string) (string, error) { |
... | ... |
@@ -1149,21 +1148,37 @@ func inspectFilter(name, filter string) (string, error) { |
1149 | 1149 |
inspectCmd := exec.Command(dockerBinary, "inspect", "-f", format, name) |
1150 | 1150 |
out, exitCode, err := runCommandWithOutput(inspectCmd) |
1151 | 1151 |
if err != nil || exitCode != 0 { |
1152 |
- return "", fmt.Errorf("failed to inspect container %s: %s", name, out) |
|
1152 |
+ return "", fmt.Errorf("failed to inspect %s: %s", name, out) |
|
1153 | 1153 |
} |
1154 | 1154 |
return strings.TrimSpace(out), nil |
1155 | 1155 |
} |
1156 | 1156 |
|
1157 |
-func inspectField(name, field string) (string, error) { |
|
1157 |
+func inspectFieldWithError(name, field string) (string, error) { |
|
1158 | 1158 |
return inspectFilter(name, fmt.Sprintf(".%s", field)) |
1159 | 1159 |
} |
1160 | 1160 |
|
1161 |
-func inspectFieldJSON(name, field string) (string, error) { |
|
1162 |
- return inspectFilter(name, fmt.Sprintf("json .%s", field)) |
|
1161 |
+func inspectField(c *check.C, name, field string) string { |
|
1162 |
+ out, err := inspectFilter(name, fmt.Sprintf(".%s", field)) |
|
1163 |
+ if c != nil { |
|
1164 |
+ c.Assert(err, check.IsNil) |
|
1165 |
+ } |
|
1166 |
+ return out |
|
1163 | 1167 |
} |
1164 | 1168 |
|
1165 |
-func inspectFieldMap(name, path, field string) (string, error) { |
|
1166 |
- return inspectFilter(name, fmt.Sprintf("index .%s %q", path, field)) |
|
1169 |
+func inspectFieldJSON(c *check.C, name, field string) string { |
|
1170 |
+ out, err := inspectFilter(name, fmt.Sprintf("json .%s", field)) |
|
1171 |
+ if c != nil { |
|
1172 |
+ c.Assert(err, check.IsNil) |
|
1173 |
+ } |
|
1174 |
+ return out |
|
1175 |
+} |
|
1176 |
+ |
|
1177 |
+func inspectFieldMap(c *check.C, name, path, field string) string { |
|
1178 |
+ out, err := inspectFilter(name, fmt.Sprintf("index .%s %q", path, field)) |
|
1179 |
+ if c != nil { |
|
1180 |
+ c.Assert(err, check.IsNil) |
|
1181 |
+ } |
|
1182 |
+ return out |
|
1167 | 1183 |
} |
1168 | 1184 |
|
1169 | 1185 |
func inspectMountSourceField(name, destination string) (string, error) { |
... | ... |
@@ -1175,7 +1190,7 @@ func inspectMountSourceField(name, destination string) (string, error) { |
1175 | 1175 |
} |
1176 | 1176 |
|
1177 | 1177 |
func inspectMountPoint(name, destination string) (types.MountPoint, error) { |
1178 |
- out, err := inspectFieldJSON(name, "Mounts") |
|
1178 |
+ out, err := inspectFilter(name, "json .Mounts") |
|
1179 | 1179 |
if err != nil { |
1180 | 1180 |
return types.MountPoint{}, err |
1181 | 1181 |
} |
... | ... |
@@ -1207,7 +1222,7 @@ func inspectMountPointJSON(j, destination string) (types.MountPoint, error) { |
1207 | 1207 |
} |
1208 | 1208 |
|
1209 | 1209 |
func getIDByName(name string) (string, error) { |
1210 |
- return inspectField(name, "Id") |
|
1210 |
+ return inspectFieldWithError(name, "Id") |
|
1211 | 1211 |
} |
1212 | 1212 |
|
1213 | 1213 |
// getContainerState returns the exit code of the container |