Make docker ps --size show virtual size really work

Signed-off-by: Lei Jitang <leijitang@huawei.com>
This commit is contained in:
Lei Jitang 2015-05-19 13:48:44 +08:00
Родитель 366fe46c6a
Коммит d0de2b1e2f
2 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@ -336,7 +336,7 @@ func (container *Container) GetSize() (int64, int64) {
sizeRw = -1
}
if _, err = os.Stat(container.basefs); err != nil {
if _, err = os.Stat(container.basefs); err == nil {
if sizeRootfs, err = directory.Size(container.basefs); err != nil {
sizeRootfs = -1
}

Просмотреть файл

@ -304,7 +304,7 @@ func (s *DockerSuite) TestPsListContainersSize(c *check.C) {
}
expectedSize := fmt.Sprintf("%d B", (2 + baseBytes))
foundSize := lines[1][sizeIndex:]
if foundSize != expectedSize {
if !strings.Contains(foundSize, expectedSize) {
c.Fatalf("Expected size %q, got %q", expectedSize, foundSize)
}
@ -666,3 +666,17 @@ func (s *DockerSuite) TestPsGroupPortRange(c *check.C) {
}
}
func (s *DockerSuite) TestPsWithSize(c *check.C) {
out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "run", "-d", "--name", "sizetest", "busybox", "top"))
if err != nil {
c.Fatal(out, err)
}
out, _, err = runCommandWithOutput(exec.Command(dockerBinary, "ps", "--size"))
if err != nil {
c.Fatal(out, err)
}
if !strings.Contains(out, "virtual") {
c.Fatalf("docker ps with --size should show virtual size of container")
}
}