MCPcopy Create free account
hub / github.com/baidu/EasyFaaS / TestRuntimeInfo_IsRunnerDefunct

Function TestRuntimeInfo_IsRunnerDefunct

pkg/controller/rtctrl/runtimeinfo_test.go:133–197  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

131}
132
133func TestRuntimeInfo_IsRunnerDefunct(t *testing.T) {
134 rtParams := &NewRuntimeParameters{
135 RuntimeID: "aa",
136 ConcurrentMode: false,
137 StreamMode: false,
138 WaitRuntimeAliveTimeout: 3,
139 Resource: &api.Resource{},
140 }
141 rt := NewRuntimeInfo(rtParams)
142 // timeout
143 now := time.Now()
144 deadline := now.Add(-time.Duration(3 * time.Second))
145 rt.updateLastLivenessTime()
146 res := rt.IsRunnerDefunct(deadline)
147 if res != false {
148 t.Errorf("runner defunct expected false ,but got %v", res)
149 }
150
151 // abnormal
152 rt.Abnormal = true
153 rt.updateLastLivenessTime()
154 deadline = rt.LastLivenessTime.Add(3 * time.Second)
155 res = rt.IsRunnerDefunct(deadline)
156 if res != true {
157 t.Errorf("runner defunct expected true ,but got %v", res)
158 }
159
160 // warmup
161 rt.Abnormal = false
162 rt.updateLastLivenessTime()
163 deadline = rt.LastAccessTime.Add(time.Duration(3 * time.Second))
164 rt.SetState(RuntimeStateWarmUp)
165 res = rt.IsRunnerDefunct(deadline)
166 if res != true {
167 t.Errorf("runner defunct expected true ,but got %v", res)
168 }
169
170 // stopping
171 rt.SetState(RuntimeStateStopping)
172 res = rt.IsRunnerDefunct(deadline)
173 if res != true {
174 t.Errorf("runner defunct expected true ,but got %v", res)
175 }
176
177 // stopped
178 rt.SetState(RuntimeStateStopped)
179 res = rt.IsRunnerDefunct(deadline)
180 if res != true {
181 t.Errorf("runner defunct expected true ,but got %v", res)
182 }
183
184 // closed
185 rt.SetState(RuntimeStateClosed)
186 res = rt.IsRunnerDefunct(deadline)
187 if res != true {
188 t.Errorf("runner defunct expected true ,but got %v", res)
189 }
190

Callers

nothing calls this directly

Calls 6

IsRunnerDefunctMethod · 0.95
SetStateMethod · 0.95
NewRuntimeInfoFunction · 0.85
ErrorfMethod · 0.80
AddMethod · 0.45

Tested by

no test coverage detected