MCPcopy
hub / github.com/syncthing/syncthing / scSyncAndCompare

Function scSyncAndCompare

test/sync_test.go:244–311  ·  view source on GitHub ↗
(p []*rc.Process, expected [][]fileInfo)

Source from the content-addressed store, hash-verified

242}
243
244func scSyncAndCompare(p []*rc.Process, expected [][]fileInfo) error {
245 log.Println("Syncing...")
246
247 for {
248 time.Sleep(250 * time.Millisecond)
249 if !rc.InSync("default", p...) {
250 continue
251 }
252 if !rc.InSync(s12Folder, p[0], p[1]) {
253 continue
254 }
255 if !rc.InSync("s23", p[1], p[2]) {
256 continue
257 }
258 break
259 }
260
261 log.Println("Checking...")
262
263 for _, dir := range []string{"s1", "s2", "s3"} {
264 actual, err := directoryContents(dir)
265 if err != nil {
266 return err
267 }
268 if err := compareDirectoryContents(actual, expected[0]); err != nil {
269 return fmt.Errorf("%s: %w", dir, err)
270 }
271 }
272
273 if len(expected) > 1 {
274 for _, dir := range []string{"s12-1", "s12-2"} {
275 actual, err := directoryContents(dir)
276 if err != nil {
277 return err
278 }
279 if err := compareDirectoryContents(actual, expected[1]); err != nil {
280 return fmt.Errorf("%s: %w", dir, err)
281 }
282 }
283 }
284
285 if len(expected) > 2 {
286 for _, dir := range []string{"s23-2", "s23-3"} {
287 actual, err := directoryContents(dir)
288 if err != nil {
289 return err
290 }
291 if err := compareDirectoryContents(actual, expected[2]); err != nil {
292 return fmt.Errorf("%s: %w", dir, err)
293 }
294 }
295 }
296
297 if err := checkRemoteInSync("default", p[0], p[1]); err != nil {
298 return err
299 }
300 if err := checkRemoteInSync("default", p[0], p[2]); err != nil {
301 return err

Callers 1

TestSyncClusterFunction · 0.85

Calls 4

InSyncFunction · 0.92
directoryContentsFunction · 0.85
compareDirectoryContentsFunction · 0.85
checkRemoteInSyncFunction · 0.85

Tested by

no test coverage detected