MCPcopy Index your code
hub / github.com/foxcpp/maddy / TestFileReload_Broken

Function TestFileReload_Broken

internal/table/file_test.go:162–224  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

160}
161
162func TestFileReload_Broken(t *testing.T) {
163 t.Parallel()
164
165 const file = `cat: dog`
166
167 f, err := os.CreateTemp("", "maddy-tests-")
168 if err != nil {
169 t.Fatal(err)
170 }
171 defer func(name string) {
172 err := os.Remove(name)
173 if err != nil {
174 t.Fatal(err)
175 }
176 }(f.Name())
177 if _, err := f.WriteString(file); err != nil {
178 require.NoError(t, f.Close())
179 t.Fatal(err)
180 }
181 require.NoError(t, f.Close())
182
183 mod, err := NewFile(container.New(), "", "")
184 if err != nil {
185 t.Fatal(err)
186 }
187 m := mod.(*File)
188 if err := m.Start(); err != nil {
189 t.Fatal(err)
190 }
191 m.log = testutils.Logger(t, FileModName)
192 defer func(m *File) {
193 err := m.Stop()
194 if err != nil {
195 t.Fatal(err)
196 }
197 }(m)
198
199 if err := mod.Configure([]string{f.Name()}, &config.Map{Block: config.Node{}}); err != nil {
200 t.Fatal(err)
201 }
202
203 f2, err := os.OpenFile(f.Name(), os.O_WRONLY|os.O_SYNC, os.ModePerm)
204 if err != nil {
205 t.Fatal(err)
206 }
207 if _, err := f2.WriteString(":"); err != nil {
208 t.Fatal(err)
209 }
210 defer func(f2 *os.File) {
211 err := f2.Close()
212 if err != nil {
213 t.Fatal(err)
214 }
215 }(f2)
216
217 time.Sleep(3 * reloadInterval)
218
219 m.mLck.RLock()

Callers

nothing calls this directly

Calls 9

ConfigureMethod · 0.95
NewFunction · 0.92
LoggerFunction · 0.92
NewFileFunction · 0.85
RemoveMethod · 0.65
NameMethod · 0.65
CloseMethod · 0.65
StartMethod · 0.65
StopMethod · 0.65

Tested by

no test coverage detected