2015-10-13 03:09:05 -04:00
|
|
|
// +build !windows
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"net/http"
|
|
|
|
|
2017-05-23 23:56:26 -04:00
|
|
|
"github.com/docker/docker/client"
|
2016-12-30 12:23:00 -05:00
|
|
|
"github.com/docker/docker/integration-cli/checker"
|
2015-10-13 03:09:05 -04:00
|
|
|
"github.com/go-check/check"
|
2017-05-23 23:56:26 -04:00
|
|
|
"golang.org/x/net/context"
|
2015-10-13 03:09:05 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
// #16665
|
[nit] integration-cli: obey Go's naming convention
No substantial code change.
- Api --> API
- Cli --> CLI
- Http, Https --> HTTP, HTTPS
- Id --> ID
- Uid,Gid,Pid --> UID,PID,PID
- Ipam --> IPAM
- Tls --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)
Didn't touch in this commit:
- Git: because it is officially "Git": https://git-scm.com/
- Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
- Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-27 21:50:12 -04:00
|
|
|
func (s *DockerSuite) TestInspectAPICpusetInConfigPre120(c *check.C) {
|
2015-10-13 03:09:05 -04:00
|
|
|
testRequires(c, DaemonIsLinux)
|
|
|
|
testRequires(c, cgroupCpuset)
|
|
|
|
|
|
|
|
name := "cpusetinconfig-pre120"
|
2015-11-15 17:00:39 -05:00
|
|
|
dockerCmd(c, "run", "--name", name, "--cpuset-cpus", "0", "busybox", "true")
|
2017-05-23 23:56:26 -04:00
|
|
|
var httpClient *http.Client
|
|
|
|
cli, err := client.NewClient(daemonHost(), "v1.19", httpClient, nil)
|
|
|
|
c.Assert(err, checker.IsNil)
|
|
|
|
defer cli.Close()
|
|
|
|
_, body, err := cli.ContainerInspectWithRaw(context.Background(), name, false)
|
2015-10-13 03:09:05 -04:00
|
|
|
c.Assert(err, check.IsNil)
|
|
|
|
|
|
|
|
var inspectJSON map[string]interface{}
|
2015-11-23 22:01:23 -05:00
|
|
|
err = json.Unmarshal(body, &inspectJSON)
|
|
|
|
c.Assert(err, checker.IsNil, check.Commentf("unable to unmarshal body for version 1.19"))
|
2015-10-13 03:09:05 -04:00
|
|
|
|
|
|
|
config, ok := inspectJSON["Config"]
|
2015-11-23 22:01:23 -05:00
|
|
|
c.Assert(ok, checker.True, check.Commentf("Unable to find 'Config'"))
|
2015-10-13 03:09:05 -04:00
|
|
|
cfg := config.(map[string]interface{})
|
2015-11-23 22:01:23 -05:00
|
|
|
_, ok = cfg["Cpuset"]
|
[nit] integration-cli: obey Go's naming convention
No substantial code change.
- Api --> API
- Cli --> CLI
- Http, Https --> HTTP, HTTPS
- Id --> ID
- Uid,Gid,Pid --> UID,PID,PID
- Ipam --> IPAM
- Tls --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)
Didn't touch in this commit:
- Git: because it is officially "Git": https://git-scm.com/
- Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
- Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-27 21:50:12 -04:00
|
|
|
c.Assert(ok, checker.True, check.Commentf("API version 1.19 expected to include Cpuset in 'Config'"))
|
2015-10-13 03:09:05 -04:00
|
|
|
}
|