(p []*rc.Process, expected [][]fileInfo)
| 242 | } |
| 243 | |
| 244 | func 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 |
no test coverage detected