Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
39cabe35
Commit
39cabe35
authored
Nov 26, 2015
by
k8s-merge-robot
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #17684 from Random-Liu/cleanup-gc-test
Auto commit by PR queue bot
parents
38b67e9e
c6d02b83
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
89 additions
and
182 deletions
+89
-182
container_gc_test.go
pkg/kubelet/dockertools/container_gc_test.go
+89
-182
No files found.
pkg/kubelet/dockertools/container_gc_test.go
View file @
39cabe35
...
@@ -28,7 +28,6 @@ import (
...
@@ -28,7 +28,6 @@ import (
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
)
)
// TODO (random-liu) Cleanup the test soon
func
newTestContainerGC
(
t
*
testing
.
T
)
(
*
containerGC
,
*
FakeDockerClient
)
{
func
newTestContainerGC
(
t
*
testing
.
T
)
(
*
containerGC
,
*
FakeDockerClient
)
{
fakeDocker
:=
new
(
FakeDockerClient
)
fakeDocker
:=
new
(
FakeDockerClient
)
gc
:=
NewContainerGC
(
fakeDocker
,
""
)
gc
:=
NewContainerGC
(
fakeDocker
,
""
)
...
@@ -41,34 +40,28 @@ func makeTime(id int) time.Time {
...
@@ -41,34 +40,28 @@ func makeTime(id int) time.Time {
return
zero
.
Add
(
time
.
Duration
(
id
)
*
time
.
Second
)
return
zero
.
Add
(
time
.
Duration
(
id
)
*
time
.
Second
)
}
}
// Makes an API object with the specified Docker ID and pod UID.
// Makes a container with the specified properties.
func
makeAPIContainer
(
uid
,
name
,
dockerID
string
)
docker
.
APIContainers
{
func
makeContainer
(
id
,
uid
,
name
string
,
running
bool
,
created
time
.
Time
)
*
docker
.
Container
{
return
docker
.
APIContainers
{
return
&
docker
.
Container
{
Names
:
[]
string
{
fmt
.
Sprintf
(
"/k8s_%s_bar_new_%s_42"
,
name
,
uid
)},
Name
:
fmt
.
Sprintf
(
"/k8s_%s_bar_new_%s_42"
,
name
,
uid
),
ID
:
dockerID
,
State
:
docker
.
State
{
}
Running
:
running
,
}
},
ID
:
id
,
// Makes a function that adds to a map a detailed container with the specified properties.
Created
:
created
,
func
makeContainerDetail
(
id
string
,
running
bool
,
created
time
.
Time
)
func
(
map
[
string
]
*
docker
.
Container
)
{
return
func
(
m
map
[
string
]
*
docker
.
Container
)
{
m
[
id
]
=
&
docker
.
Container
{
State
:
docker
.
State
{
Running
:
running
,
},
ID
:
id
,
Created
:
created
,
}
}
}
}
}
// Makes a detailed container map from the specified functions.
// Makes a container with unidentified name and specified properties.
func
makeContainerDetailMap
(
funcs
...
func
(
map
[
string
]
*
docker
.
Container
))
map
[
string
]
*
docker
.
Container
{
func
makeUndefinedContainer
(
id
string
,
running
bool
,
created
time
.
Time
)
*
docker
.
Container
{
m
:=
make
(
map
[
string
]
*
docker
.
Container
,
len
(
funcs
))
return
&
docker
.
Container
{
for
_
,
f
:=
range
funcs
{
Name
:
"/k8s_unidentified"
,
f
(
m
)
State
:
docker
.
State
{
Running
:
running
,
},
ID
:
id
,
Created
:
created
,
}
}
return
m
}
}
func
verifyStringArrayEqualsAnyOrder
(
t
*
testing
.
T
,
actual
,
expected
[]
string
)
{
func
verifyStringArrayEqualsAnyOrder
(
t
*
testing
.
T
,
actual
,
expected
[]
string
)
{
...
@@ -87,12 +80,9 @@ func verifyStringArrayEqualsAnyOrder(t *testing.T, actual, expected []string) {
...
@@ -87,12 +80,9 @@ func verifyStringArrayEqualsAnyOrder(t *testing.T, actual, expected []string) {
func
TestGarbageCollectZeroMaxContainers
(
t
*
testing
.
T
)
{
func
TestGarbageCollectZeroMaxContainers
(
t
*
testing
.
T
)
{
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
fakeDocker
.
ContainerList
=
[]
docker
.
APIContainers
{
fakeDocker
.
SetFakeContainers
([]
*
docker
.
Container
{
makeAPIContainer
(
"foo"
,
"POD"
,
"1876"
),
makeContainer
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)),
}
})
fakeDocker
.
ContainerMap
=
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
)
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
1
,
0
}))
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
1
,
0
}))
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
1
)
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
1
)
...
@@ -100,20 +90,13 @@ func TestGarbageCollectZeroMaxContainers(t *testing.T) {
...
@@ -100,20 +90,13 @@ func TestGarbageCollectZeroMaxContainers(t *testing.T) {
func
TestGarbageCollectNoMaxPerPodContainerLimit
(
t
*
testing
.
T
)
{
func
TestGarbageCollectNoMaxPerPodContainerLimit
(
t
*
testing
.
T
)
{
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
fakeDocker
.
ContainerList
=
[]
docker
.
APIContainers
{
fakeDocker
.
SetFakeContainers
([]
*
docker
.
Container
{
makeAPIContainer
(
"foo"
,
"POD"
,
"1876"
),
makeContainer
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)),
makeAPIContainer
(
"foo1"
,
"POD"
,
"2876"
),
makeContainer
(
"2876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
1
)),
makeAPIContainer
(
"foo2"
,
"POD"
,
"3876"
),
makeContainer
(
"3876"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
2
)),
makeAPIContainer
(
"foo3"
,
"POD"
,
"4876"
),
makeContainer
(
"4876"
,
"foo3"
,
"POD"
,
false
,
makeTime
(
3
)),
makeAPIContainer
(
"foo4"
,
"POD"
,
"5876"
),
makeContainer
(
"5876"
,
"foo4"
,
"POD"
,
false
,
makeTime
(
4
)),
}
})
fakeDocker
.
ContainerMap
=
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"4876"
,
false
,
makeTime
(
3
)),
makeContainerDetail
(
"5876"
,
false
,
makeTime
(
4
)),
)
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
-
1
,
4
}))
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
-
1
,
4
}))
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
1
)
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
1
)
...
@@ -121,20 +104,13 @@ func TestGarbageCollectNoMaxPerPodContainerLimit(t *testing.T) {
...
@@ -121,20 +104,13 @@ func TestGarbageCollectNoMaxPerPodContainerLimit(t *testing.T) {
func
TestGarbageCollectNoMaxLimit
(
t
*
testing
.
T
)
{
func
TestGarbageCollectNoMaxLimit
(
t
*
testing
.
T
)
{
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
fakeDocker
.
ContainerList
=
[]
docker
.
APIContainers
{
fakeDocker
.
SetFakeContainers
([]
*
docker
.
Container
{
makeAPIContainer
(
"foo"
,
"POD"
,
"1876"
),
makeContainer
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)),
makeAPIContainer
(
"foo1"
,
"POD"
,
"2876"
),
makeContainer
(
"2876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
0
)),
makeAPIContainer
(
"foo2"
,
"POD"
,
"3876"
),
makeContainer
(
"3876"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
0
)),
makeAPIContainer
(
"foo3"
,
"POD"
,
"4876"
),
makeContainer
(
"4876"
,
"foo3"
,
"POD"
,
false
,
makeTime
(
0
)),
makeAPIContainer
(
"foo4"
,
"POD"
,
"5876"
),
makeContainer
(
"5876"
,
"foo4"
,
"POD"
,
false
,
makeTime
(
0
)),
}
})
fakeDocker
.
ContainerMap
=
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"4876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"5876"
,
false
,
makeTime
(
0
)),
)
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
1
,
-
1
}))
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Minute
,
1
,
-
1
}))
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
0
)
assert
.
Len
(
t
,
fakeDocker
.
Removed
,
0
)
...
@@ -142,172 +118,103 @@ func TestGarbageCollectNoMaxLimit(t *testing.T) {
...
@@ -142,172 +118,103 @@ func TestGarbageCollectNoMaxLimit(t *testing.T) {
func
TestGarbageCollect
(
t
*
testing
.
T
)
{
func
TestGarbageCollect
(
t
*
testing
.
T
)
{
tests
:=
[]
struct
{
tests
:=
[]
struct
{
containers
[]
docker
.
APIContainers
containers
[]
*
docker
.
Container
containerDetails
map
[
string
]
*
docker
.
Container
expectedRemoved
[]
string
expectedRemoved
[]
string
}{
}{
// Don't remove containers started recently.
// Don't remove containers started recently.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
time
.
Now
()
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
time
.
Now
()
),
make
APIContainer
(
"foo"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo"
,
"POD"
,
false
,
time
.
Now
()
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
time
.
Now
()),
makeContainerDetail
(
"2876"
,
false
,
time
.
Now
()),
makeContainerDetail
(
"3876"
,
false
,
time
.
Now
()),
),
},
},
// Remove oldest containers.
// Remove oldest containers.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
2
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
2
)),
),
expectedRemoved
:
[]
string
{
"1876"
},
expectedRemoved
:
[]
string
{
"1876"
},
},
},
// Only remove non-running containers.
// Only remove non-running containers.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
true
,
makeTime
(
0
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"4876"
),
make
Container
(
"4876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
3
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
true
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"4876"
,
false
,
makeTime
(
3
)),
),
expectedRemoved
:
[]
string
{
"2876"
},
expectedRemoved
:
[]
string
{
"2876"
},
},
},
// Less than maxContainerCount doesn't delete any.
// Less than maxContainerCount doesn't delete any.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
),
},
},
// maxContainerCount applies per (UID,container) pair.
// maxContainerCount applies per (UID,container) pair.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo"
,
"bar"
,
"1076"
),
make
Container
(
"1076"
,
"foo"
,
"bar"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo"
,
"bar"
,
"2076"
),
make
Container
(
"2076"
,
"foo"
,
"bar"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo"
,
"bar"
,
"3076"
),
make
Container
(
"3076"
,
"foo"
,
"bar"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"1176"
),
make
Container
(
"1176"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"2176"
),
make
Container
(
"2176"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"3176"
),
make
Container
(
"3176"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
2
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"1076"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2076"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3076"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"1176"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2176"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3176"
,
false
,
makeTime
(
2
)),
),
expectedRemoved
:
[]
string
{
"1076"
,
"1176"
,
"1876"
},
expectedRemoved
:
[]
string
{
"1076"
,
"1176"
,
"1876"
},
},
},
// Remove non-running unidentified Kubernetes containers.
// Remove non-running unidentified Kubernetes containers.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
{
makeUndefinedContainer
(
"1876"
,
true
,
makeTime
(
0
)),
// Unidentified Kubernetes container.
makeUndefinedContainer
(
"2876"
,
false
,
makeTime
(
0
)),
Names
:
[]
string
{
"/k8s_unidentified"
},
makeContainer
(
"3876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)),
ID
:
"1876"
,
},
{
// Unidentified (non-running) Kubernetes container.
Names
:
[]
string
{
"/k8s_unidentified"
},
ID
:
"2876"
,
},
makeAPIContainer
(
"foo"
,
"POD"
,
"3876"
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
true
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
0
)),
),
expectedRemoved
:
[]
string
{
"2876"
},
expectedRemoved
:
[]
string
{
"2876"
},
},
},
// Max limit applied and tries to keep from every pod.
// Max limit applied and tries to keep from every pod.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo1"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo1"
,
"POD"
,
"4876"
),
make
Container
(
"4876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"5876"
),
make
Container
(
"5876"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"6876"
),
make
Container
(
"6876"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo3"
,
"POD"
,
"7876"
),
make
Container
(
"7876"
,
"foo3"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo3"
,
"POD"
,
"8876"
),
make
Container
(
"8876"
,
"foo3"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo4"
,
"POD"
,
"9876"
),
make
Container
(
"9876"
,
"foo4"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo4"
,
"POD"
,
"10876"
),
make
Container
(
"10876"
,
"foo4"
,
"POD"
,
false
,
makeTime
(
1
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"4876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"5876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"6876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"7876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"8876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"9876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"10876"
,
false
,
makeTime
(
1
)),
),
expectedRemoved
:
[]
string
{
"1876"
,
"3876"
,
"5876"
,
"7876"
,
"9876"
},
expectedRemoved
:
[]
string
{
"1876"
,
"3876"
,
"5876"
,
"7876"
,
"9876"
},
},
},
// If more pods than limit allows, evicts oldest pod.
// If more pods than limit allows, evicts oldest pod.
{
{
containers
:
[]
docker
.
APIContainers
{
containers
:
[]
*
docker
.
Container
{
make
APIContainer
(
"foo"
,
"POD"
,
"1876"
),
make
Container
(
"1876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo"
,
"POD"
,
"2876"
),
make
Container
(
"2876"
,
"foo"
,
"POD"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo1"
,
"POD"
,
"3876"
),
make
Container
(
"3876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo1"
,
"POD"
,
"4876"
),
make
Container
(
"4876"
,
"foo1"
,
"POD"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo2"
,
"POD"
,
"5876"
),
make
Container
(
"5876"
,
"foo2"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo3"
,
"POD"
,
"6876"
),
make
Container
(
"6876"
,
"foo3"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo4"
,
"POD"
,
"7876"
),
make
Container
(
"7876"
,
"foo4"
,
"POD"
,
false
,
makeTime
(
0
)
),
make
APIContainer
(
"foo5"
,
"POD"
,
"8876"
),
make
Container
(
"8876"
,
"foo5"
,
"POD"
,
false
,
makeTime
(
1
)
),
make
APIContainer
(
"foo6"
,
"POD"
,
"9876"
),
make
Container
(
"9876"
,
"foo6"
,
"POD"
,
false
,
makeTime
(
2
)
),
make
APIContainer
(
"foo7"
,
"POD"
,
"10876"
),
make
Container
(
"10876"
,
"foo7"
,
"POD"
,
false
,
makeTime
(
1
)
),
},
},
containerDetails
:
makeContainerDetailMap
(
makeContainerDetail
(
"1876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"2876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"3876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"4876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"5876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"6876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"7876"
,
false
,
makeTime
(
0
)),
makeContainerDetail
(
"8876"
,
false
,
makeTime
(
1
)),
makeContainerDetail
(
"9876"
,
false
,
makeTime
(
2
)),
makeContainerDetail
(
"10876"
,
false
,
makeTime
(
1
)),
),
expectedRemoved
:
[]
string
{
"1876"
,
"3876"
,
"5876"
,
"7876"
},
expectedRemoved
:
[]
string
{
"1876"
,
"3876"
,
"5876"
,
"7876"
},
},
},
}
}
for
i
,
test
:=
range
tests
{
for
i
,
test
:=
range
tests
{
t
.
Logf
(
"Running test case with index %d"
,
i
)
t
.
Logf
(
"Running test case with index %d"
,
i
)
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
gc
,
fakeDocker
:=
newTestContainerGC
(
t
)
fakeDocker
.
ContainerList
=
test
.
containers
fakeDocker
.
SetFakeContainers
(
test
.
containers
)
fakeDocker
.
ContainerMap
=
test
.
containerDetails
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Hour
,
2
,
6
}))
assert
.
Nil
(
t
,
gc
.
GarbageCollect
(
kubecontainer
.
ContainerGCPolicy
{
time
.
Hour
,
2
,
6
}))
verifyStringArrayEqualsAnyOrder
(
t
,
fakeDocker
.
Removed
,
test
.
expectedRemoved
)
verifyStringArrayEqualsAnyOrder
(
t
,
fakeDocker
.
Removed
,
test
.
expectedRemoved
)
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment