forked from cloudfoundry/guardian
-
Notifications
You must be signed in to change notification settings - Fork 1
/
fake_exec_runner.go
198 lines (182 loc) · 6.84 KB
/
fake_exec_runner.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
// Code generated by counterfeiter. DO NOT EDIT.
package runruncfakes
import (
"io"
"sync"
"code.cloudfoundry.org/garden"
"code.cloudfoundry.org/guardian/rundmc/runrunc"
"code.cloudfoundry.org/lager"
)
type FakeExecRunner struct {
RunStub func(log lager.Logger, processID, processPath, sandboxHandle, sandboxBundlePath string, containerRootHostUID, containerRootHostGID uint32, pio garden.ProcessIO, tty bool, procJSON io.Reader, extraCleanup func() error) (garden.Process, error)
runMutex sync.RWMutex
runArgsForCall []struct {
log lager.Logger
processID string
processPath string
sandboxHandle string
sandboxBundlePath string
containerRootHostUID uint32
containerRootHostGID uint32
pio garden.ProcessIO
tty bool
procJSON io.Reader
extraCleanup func() error
}
runReturns struct {
result1 garden.Process
result2 error
}
runReturnsOnCall map[int]struct {
result1 garden.Process
result2 error
}
AttachStub func(log lager.Logger, processID string, io garden.ProcessIO, processesPath string) (garden.Process, error)
attachMutex sync.RWMutex
attachArgsForCall []struct {
log lager.Logger
processID string
io garden.ProcessIO
processesPath string
}
attachReturns struct {
result1 garden.Process
result2 error
}
attachReturnsOnCall map[int]struct {
result1 garden.Process
result2 error
}
invocations map[string][][]interface{}
invocationsMutex sync.RWMutex
}
func (fake *FakeExecRunner) Run(log lager.Logger, processID string, processPath string, sandboxHandle string, sandboxBundlePath string, containerRootHostUID uint32, containerRootHostGID uint32, pio garden.ProcessIO, tty bool, procJSON io.Reader, extraCleanup func() error) (garden.Process, error) {
fake.runMutex.Lock()
ret, specificReturn := fake.runReturnsOnCall[len(fake.runArgsForCall)]
fake.runArgsForCall = append(fake.runArgsForCall, struct {
log lager.Logger
processID string
processPath string
sandboxHandle string
sandboxBundlePath string
containerRootHostUID uint32
containerRootHostGID uint32
pio garden.ProcessIO
tty bool
procJSON io.Reader
extraCleanup func() error
}{log, processID, processPath, sandboxHandle, sandboxBundlePath, containerRootHostUID, containerRootHostGID, pio, tty, procJSON, extraCleanup})
fake.recordInvocation("Run", []interface{}{log, processID, processPath, sandboxHandle, sandboxBundlePath, containerRootHostUID, containerRootHostGID, pio, tty, procJSON, extraCleanup})
fake.runMutex.Unlock()
if fake.RunStub != nil {
return fake.RunStub(log, processID, processPath, sandboxHandle, sandboxBundlePath, containerRootHostUID, containerRootHostGID, pio, tty, procJSON, extraCleanup)
}
if specificReturn {
return ret.result1, ret.result2
}
return fake.runReturns.result1, fake.runReturns.result2
}
func (fake *FakeExecRunner) RunCallCount() int {
fake.runMutex.RLock()
defer fake.runMutex.RUnlock()
return len(fake.runArgsForCall)
}
func (fake *FakeExecRunner) RunArgsForCall(i int) (lager.Logger, string, string, string, string, uint32, uint32, garden.ProcessIO, bool, io.Reader, func() error) {
fake.runMutex.RLock()
defer fake.runMutex.RUnlock()
return fake.runArgsForCall[i].log, fake.runArgsForCall[i].processID, fake.runArgsForCall[i].processPath, fake.runArgsForCall[i].sandboxHandle, fake.runArgsForCall[i].sandboxBundlePath, fake.runArgsForCall[i].containerRootHostUID, fake.runArgsForCall[i].containerRootHostGID, fake.runArgsForCall[i].pio, fake.runArgsForCall[i].tty, fake.runArgsForCall[i].procJSON, fake.runArgsForCall[i].extraCleanup
}
func (fake *FakeExecRunner) RunReturns(result1 garden.Process, result2 error) {
fake.RunStub = nil
fake.runReturns = struct {
result1 garden.Process
result2 error
}{result1, result2}
}
func (fake *FakeExecRunner) RunReturnsOnCall(i int, result1 garden.Process, result2 error) {
fake.RunStub = nil
if fake.runReturnsOnCall == nil {
fake.runReturnsOnCall = make(map[int]struct {
result1 garden.Process
result2 error
})
}
fake.runReturnsOnCall[i] = struct {
result1 garden.Process
result2 error
}{result1, result2}
}
func (fake *FakeExecRunner) Attach(log lager.Logger, processID string, io garden.ProcessIO, processesPath string) (garden.Process, error) {
fake.attachMutex.Lock()
ret, specificReturn := fake.attachReturnsOnCall[len(fake.attachArgsForCall)]
fake.attachArgsForCall = append(fake.attachArgsForCall, struct {
log lager.Logger
processID string
io garden.ProcessIO
processesPath string
}{log, processID, io, processesPath})
fake.recordInvocation("Attach", []interface{}{log, processID, io, processesPath})
fake.attachMutex.Unlock()
if fake.AttachStub != nil {
return fake.AttachStub(log, processID, io, processesPath)
}
if specificReturn {
return ret.result1, ret.result2
}
return fake.attachReturns.result1, fake.attachReturns.result2
}
func (fake *FakeExecRunner) AttachCallCount() int {
fake.attachMutex.RLock()
defer fake.attachMutex.RUnlock()
return len(fake.attachArgsForCall)
}
func (fake *FakeExecRunner) AttachArgsForCall(i int) (lager.Logger, string, garden.ProcessIO, string) {
fake.attachMutex.RLock()
defer fake.attachMutex.RUnlock()
return fake.attachArgsForCall[i].log, fake.attachArgsForCall[i].processID, fake.attachArgsForCall[i].io, fake.attachArgsForCall[i].processesPath
}
func (fake *FakeExecRunner) AttachReturns(result1 garden.Process, result2 error) {
fake.AttachStub = nil
fake.attachReturns = struct {
result1 garden.Process
result2 error
}{result1, result2}
}
func (fake *FakeExecRunner) AttachReturnsOnCall(i int, result1 garden.Process, result2 error) {
fake.AttachStub = nil
if fake.attachReturnsOnCall == nil {
fake.attachReturnsOnCall = make(map[int]struct {
result1 garden.Process
result2 error
})
}
fake.attachReturnsOnCall[i] = struct {
result1 garden.Process
result2 error
}{result1, result2}
}
func (fake *FakeExecRunner) Invocations() map[string][][]interface{} {
fake.invocationsMutex.RLock()
defer fake.invocationsMutex.RUnlock()
fake.runMutex.RLock()
defer fake.runMutex.RUnlock()
fake.attachMutex.RLock()
defer fake.attachMutex.RUnlock()
copiedInvocations := map[string][][]interface{}{}
for key, value := range fake.invocations {
copiedInvocations[key] = value
}
return copiedInvocations
}
func (fake *FakeExecRunner) recordInvocation(key string, args []interface{}) {
fake.invocationsMutex.Lock()
defer fake.invocationsMutex.Unlock()
if fake.invocations == nil {
fake.invocations = map[string][][]interface{}{}
}
if fake.invocations[key] == nil {
fake.invocations[key] = [][]interface{}{}
}
fake.invocations[key] = append(fake.invocations[key], args)
}
var _ runrunc.ExecRunner = new(FakeExecRunner)