Fix TestSummaryProvider.

assert.Contains() checks if its second argument (which is supposed to be
a single element) is contained in its first argument (which is supposed
to be a slice/map etc.) The third and following arguments are supposed
to be message and args for the output in case of failure.

Because of this bad form, a failure was hidden, the system container is
named "misc", not "system".
This commit is contained in:
Rohit Agarwal 2017-11-07 12:34:48 -08:00
parent fe5ef1b494
commit 238b4a0d8e

View File

@ -46,7 +46,7 @@ func TestSummaryProvider(t *testing.T) {
node = &v1.Node{ObjectMeta: metav1.ObjectMeta{Name: "test-node"}} node = &v1.Node{ObjectMeta: metav1.ObjectMeta{Name: "test-node"}}
nodeConfig = cm.NodeConfig{ nodeConfig = cm.NodeConfig{
RuntimeCgroupsName: "/runtime", RuntimeCgroupsName: "/runtime",
SystemCgroupsName: "/system", SystemCgroupsName: "/misc",
KubeletCgroupsName: "/kubelet", KubeletCgroupsName: "/kubelet",
} }
cgroupStatsMap = map[string]struct { cgroupStatsMap = map[string]struct {
@ -55,7 +55,7 @@ func TestSummaryProvider(t *testing.T) {
}{ }{
"/": {cs: getContainerStats(), ns: getNetworkStats()}, "/": {cs: getContainerStats(), ns: getNetworkStats()},
"/runtime": {cs: getContainerStats(), ns: getNetworkStats()}, "/runtime": {cs: getContainerStats(), ns: getNetworkStats()},
"/system": {cs: getContainerStats(), ns: getNetworkStats()}, "/misc": {cs: getContainerStats(), ns: getNetworkStats()},
"/kubelet": {cs: getContainerStats(), ns: getNetworkStats()}, "/kubelet": {cs: getContainerStats(), ns: getNetworkStats()},
} }
) )
@ -71,7 +71,7 @@ func TestSummaryProvider(t *testing.T) {
On("RootFsStats").Return(rootFsStats, nil). On("RootFsStats").Return(rootFsStats, nil).
On("GetCgroupStats", "/").Return(cgroupStatsMap["/"].cs, cgroupStatsMap["/"].ns, nil). On("GetCgroupStats", "/").Return(cgroupStatsMap["/"].cs, cgroupStatsMap["/"].ns, nil).
On("GetCgroupStats", "/runtime").Return(cgroupStatsMap["/runtime"].cs, cgroupStatsMap["/runtime"].ns, nil). On("GetCgroupStats", "/runtime").Return(cgroupStatsMap["/runtime"].cs, cgroupStatsMap["/runtime"].ns, nil).
On("GetCgroupStats", "/system").Return(cgroupStatsMap["/system"].cs, cgroupStatsMap["/system"].ns, nil). On("GetCgroupStats", "/misc").Return(cgroupStatsMap["/misc"].cs, cgroupStatsMap["/misc"].ns, nil).
On("GetCgroupStats", "/kubelet").Return(cgroupStatsMap["/kubelet"].cs, cgroupStatsMap["/kubelet"].ns, nil) On("GetCgroupStats", "/kubelet").Return(cgroupStatsMap["/kubelet"].cs, cgroupStatsMap["/kubelet"].ns, nil)
provider := NewSummaryProvider(mockStatsProvider) provider := NewSummaryProvider(mockStatsProvider)
@ -87,29 +87,27 @@ func TestSummaryProvider(t *testing.T) {
assert.Equal(summary.Node.Runtime, &statsapi.RuntimeStats{ImageFs: imageFsStats}) assert.Equal(summary.Node.Runtime, &statsapi.RuntimeStats{ImageFs: imageFsStats})
assert.Equal(len(summary.Node.SystemContainers), 3) assert.Equal(len(summary.Node.SystemContainers), 3)
assert.Contains(summary.Node.SystemContainers, assert.Contains(summary.Node.SystemContainers, statsapi.ContainerStats{
statsapi.ContainerStats{ Name: "kubelet",
Name: "kubelet", StartTime: cgroupStatsMap["/kubelet"].cs.StartTime,
StartTime: cgroupStatsMap["/kubelet"].cs.StartTime, CPU: cgroupStatsMap["/kubelet"].cs.CPU,
CPU: cgroupStatsMap["/kubelet"].cs.CPU, Memory: cgroupStatsMap["/kubelet"].cs.Memory,
Memory: cgroupStatsMap["/kubelet"].cs.Memory, UserDefinedMetrics: cgroupStatsMap["/kubelet"].cs.UserDefinedMetrics,
UserDefinedMetrics: cgroupStatsMap["/kubelet"].cs.UserDefinedMetrics, })
}, assert.Contains(summary.Node.SystemContainers, statsapi.ContainerStats{
statsapi.ContainerStats{ Name: "misc",
Name: "system", StartTime: cgroupStatsMap["/misc"].cs.StartTime,
StartTime: cgroupStatsMap["/system"].cs.StartTime, CPU: cgroupStatsMap["/misc"].cs.CPU,
CPU: cgroupStatsMap["/system"].cs.CPU, Memory: cgroupStatsMap["/misc"].cs.Memory,
Memory: cgroupStatsMap["/system"].cs.Memory, UserDefinedMetrics: cgroupStatsMap["/misc"].cs.UserDefinedMetrics,
UserDefinedMetrics: cgroupStatsMap["/system"].cs.UserDefinedMetrics, })
}, assert.Contains(summary.Node.SystemContainers, statsapi.ContainerStats{
statsapi.ContainerStats{ Name: "runtime",
Name: "runtime", StartTime: cgroupStatsMap["/runtime"].cs.StartTime,
StartTime: cgroupStatsMap["/runtime"].cs.StartTime, CPU: cgroupStatsMap["/runtime"].cs.CPU,
CPU: cgroupStatsMap["/runtime"].cs.CPU, Memory: cgroupStatsMap["/runtime"].cs.Memory,
Memory: cgroupStatsMap["/runtime"].cs.Memory, UserDefinedMetrics: cgroupStatsMap["/runtime"].cs.UserDefinedMetrics,
UserDefinedMetrics: cgroupStatsMap["/runtime"].cs.UserDefinedMetrics, })
},
)
assert.Equal(summary.Pods, podStats) assert.Equal(summary.Pods, podStats)
} }