@@ -40,21 +40,28 @@ const (
40
40
jailerGID = 300001
41
41
)
42
42
43
+ func assertEmptyShimDir (tb testing.TB , ns , vmID string ) {
44
+ _ , err := os .Stat (filepath .Join (integtest .ShimBaseDir (), ns + "#" + vmID ))
45
+ assert .Error (tb , err )
46
+ assert .True (tb , os .IsNotExist (err ))
47
+
48
+ shimContents , err := os .ReadDir (integtest .ShimBaseDir ())
49
+ require .NoError (tb , err )
50
+ assert .Len (tb , shimContents , 0 )
51
+ }
52
+
43
53
func TestJailer_Isolated (t * testing.T ) {
44
54
integtest .Prepare (t )
45
55
t .Run ("Without Jailer" , func (t * testing.T ) {
46
- t .Parallel ()
47
56
testJailer (t , nil )
48
57
})
49
58
t .Run ("With Jailer" , func (t * testing.T ) {
50
- t .Parallel ()
51
59
testJailer (t , & proto.JailerConfig {
52
60
UID : jailerUID ,
53
61
GID : jailerGID ,
54
62
})
55
63
})
56
64
t .Run ("With Jailer and bind-mount" , func (t * testing.T ) {
57
- t .Parallel ()
58
65
testJailer (t , & proto.JailerConfig {
59
66
UID : jailerUID ,
60
67
GID : jailerGID ,
@@ -66,18 +73,15 @@ func TestJailer_Isolated(t *testing.T) {
66
73
func TestAttachBlockDevice_Isolated (t * testing.T ) {
67
74
integtest .Prepare (t )
68
75
t .Run ("Without Jailer" , func (t * testing.T ) {
69
- t .Parallel ()
70
76
testAttachBlockDevice (t , nil )
71
77
})
72
78
t .Run ("With Jailer" , func (t * testing.T ) {
73
- t .Parallel ()
74
79
testAttachBlockDevice (t , & proto.JailerConfig {
75
80
UID : jailerUID ,
76
81
GID : jailerGID ,
77
82
})
78
83
})
79
84
t .Run ("With Jailer and bind-mount" , func (t * testing.T ) {
80
- t .Parallel ()
81
85
testAttachBlockDevice (t , & proto.JailerConfig {
82
86
UID : jailerUID ,
83
87
GID : jailerGID ,
@@ -140,9 +144,13 @@ func testJailer(t *testing.T, jailerConfig *proto.JailerConfig) {
140
144
fcClient , err := integtest .NewFCControlClient (integtest .ContainerdSockPath )
141
145
require .NoError (t , err )
142
146
143
- _ , err = fcClient .CreateVM (ctx , & request )
147
+ resp , err : = fcClient .CreateVM (ctx , & request )
144
148
require .NoError (t , err )
145
149
150
+ if jailerConfig != nil {
151
+ assert .True (t , cgroupExists (resp .CgroupPath ))
152
+ }
153
+
146
154
c , err := client .NewContainer (ctx ,
147
155
vmID + "-container" ,
148
156
containerd .WithSnapshotter (defaultSnapshotterName ),
@@ -174,13 +182,7 @@ func testJailer(t *testing.T, jailerConfig *proto.JailerConfig) {
174
182
_ , err = fcClient .StopVM (ctx , & proto.StopVMRequest {VMID : vmID })
175
183
require .NoError (t , err )
176
184
177
- _ , err = os .Stat (filepath .Join (integtest .ShimBaseDir (), "default#" + vmID ))
178
- assert .Error (t , err )
179
- assert .True (t , os .IsNotExist (err ))
180
-
181
- shimContents , err := os .ReadDir (integtest .ShimBaseDir ())
182
- require .NoError (t , err )
183
- assert .Len (t , shimContents , 0 )
185
+ assertEmptyShimDir (t , "default" , vmID )
184
186
}
185
187
186
188
func TestJailerCPUSet_Isolated (t * testing.T ) {
@@ -284,11 +286,5 @@ func testAttachBlockDevice(tb testing.TB, jailerConfig *proto.JailerConfig) {
284
286
_ , err = fcClient .StopVM (ctx , & proto.StopVMRequest {VMID : vmID })
285
287
require .NoError (tb , err )
286
288
287
- _ , err = os .Stat (filepath .Join (integtest .ShimBaseDir (), "default#" + vmID ))
288
- assert .Error (tb , err )
289
- assert .True (tb , os .IsNotExist (err ))
290
-
291
- shimContents , err := os .ReadDir (integtest .ShimBaseDir ())
292
- require .NoError (tb , err )
293
- assert .Len (tb , shimContents , 0 )
289
+ assertEmptyShimDir (tb , "default" , vmID )
294
290
}
0 commit comments