Merge pull request #46570 from dmcgowan/fix-disk-usage-test
integration: fix disk usage test for c8d
This commit is contained in:
commit
f800215946
2 changed files with 31 additions and 46 deletions
|
@ -263,7 +263,7 @@ func (i *ImageService) singlePlatformImage(ctx context.Context, contentStore con
|
|||
if err != nil {
|
||||
logger.WithError(err).Error("failed to create digested reference")
|
||||
} else {
|
||||
repoDigests = append(repoDigests, digested.String())
|
||||
repoDigests = append(repoDigests, reference.FamiliarString(digested))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package system // import "github.com/docker/docker/integration/system"
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
|
@ -10,6 +11,7 @@ import (
|
|||
"github.com/docker/docker/testutil"
|
||||
"github.com/docker/docker/testutil/daemon"
|
||||
"gotest.tools/v3/assert"
|
||||
is "gotest.tools/v3/assert/cmp"
|
||||
"gotest.tools/v3/skip"
|
||||
)
|
||||
|
||||
|
@ -54,20 +56,18 @@ func TestDiskUsage(t *testing.T) {
|
|||
assert.NilError(t, err)
|
||||
assert.Assert(t, du.LayersSize > 0)
|
||||
assert.Equal(t, len(du.Images), 1)
|
||||
assert.DeepEqual(t, du, types.DiskUsage{
|
||||
LayersSize: du.LayersSize,
|
||||
Images: []*image.Summary{
|
||||
{
|
||||
Created: du.Images[0].Created,
|
||||
ID: du.Images[0].ID,
|
||||
RepoTags: []string{"busybox:latest"},
|
||||
Size: du.LayersSize,
|
||||
},
|
||||
},
|
||||
Containers: []*types.Container{},
|
||||
Volumes: []*volume.Volume{},
|
||||
BuildCache: []*types.BuildCache{},
|
||||
})
|
||||
assert.Equal(t, len(du.Images[0].RepoTags), 1)
|
||||
assert.Check(t, is.Equal(du.Images[0].RepoTags[0], "busybox:latest"))
|
||||
|
||||
// Image size is layer size + content size, should be greater than total layer size
|
||||
assert.Assert(t, du.Images[0].Size >= du.LayersSize)
|
||||
|
||||
// If size is greater, than content exists and should have a repodigest
|
||||
if du.Images[0].Size > du.LayersSize {
|
||||
assert.Equal(t, len(du.Images[0].RepoDigests), 1)
|
||||
assert.Check(t, strings.HasPrefix(du.Images[0].RepoDigests[0], "busybox@"))
|
||||
}
|
||||
|
||||
return du
|
||||
},
|
||||
},
|
||||
|
@ -81,37 +81,22 @@ func TestDiskUsage(t *testing.T) {
|
|||
assert.Equal(t, len(du.Containers), 1)
|
||||
assert.Equal(t, len(du.Containers[0].Names), 1)
|
||||
assert.Assert(t, len(prev.Images) > 0)
|
||||
assert.Assert(t, du.Containers[0].Created >= prev.Images[0].Created)
|
||||
assert.DeepEqual(t, du, types.DiskUsage{
|
||||
LayersSize: prev.LayersSize,
|
||||
Images: []*image.Summary{
|
||||
func() *image.Summary {
|
||||
sum := *prev.Images[0]
|
||||
sum.Containers++
|
||||
return &sum
|
||||
}(),
|
||||
},
|
||||
Containers: []*types.Container{
|
||||
{
|
||||
ID: cID,
|
||||
Names: du.Containers[0].Names,
|
||||
Image: "busybox",
|
||||
ImageID: prev.Images[0].ID,
|
||||
Command: du.Containers[0].Command, // not relevant for the test
|
||||
Created: du.Containers[0].Created,
|
||||
Ports: du.Containers[0].Ports, // not relevant for the test
|
||||
SizeRootFs: prev.Images[0].Size,
|
||||
Labels: du.Containers[0].Labels, // not relevant for the test
|
||||
State: du.Containers[0].State, // not relevant for the test
|
||||
Status: du.Containers[0].Status, // not relevant for the test
|
||||
HostConfig: du.Containers[0].HostConfig, // not relevant for the test
|
||||
NetworkSettings: du.Containers[0].NetworkSettings, // not relevant for the test
|
||||
Mounts: du.Containers[0].Mounts, // not relevant for the test
|
||||
},
|
||||
},
|
||||
Volumes: []*volume.Volume{},
|
||||
BuildCache: []*types.BuildCache{},
|
||||
})
|
||||
assert.Check(t, du.Containers[0].Created >= prev.Images[0].Created)
|
||||
|
||||
// Additional container layer could add to the size
|
||||
assert.Check(t, du.LayersSize >= prev.LayersSize)
|
||||
|
||||
assert.Equal(t, len(du.Images), 1)
|
||||
assert.Equal(t, du.Images[0].Containers, prev.Images[0].Containers+1)
|
||||
|
||||
assert.Check(t, is.Equal(du.Containers[0].ID, cID))
|
||||
assert.Check(t, is.Equal(du.Containers[0].Image, "busybox"))
|
||||
assert.Check(t, is.Equal(du.Containers[0].ImageID, prev.Images[0].ID))
|
||||
|
||||
// The rootfs size should be equivalent to all the layers,
|
||||
// previously used prev.Images[0].Size, which may differ from content data
|
||||
assert.Check(t, is.Equal(du.Containers[0].SizeRootFs, du.LayersSize))
|
||||
|
||||
return du
|
||||
},
|
||||
},
|
||||
|
|
Loading…
Add table
Reference in a new issue