MCPcopy
hub / github.com/syncthing/syncthing / testReconnectDuringTransfer

Function testReconnectDuringTransfer

test/reconnect_test.go:28–127  ·  view source on GitHub ↗
(t *testing.T, restartSender, restartReceiver bool)

Source from the content-addressed store, hash-verified

26}
27
28func testReconnectDuringTransfer(t *testing.T, restartSender, restartReceiver bool) {
29 log.Println("Cleaning...")
30 err := removeAll("s1", "s2", "h1/index*", "h2/index*")
31 if err != nil {
32 t.Fatal(err)
33 }
34
35 log.Println("Generating files...")
36 err = generateFiles("s1", 250, 20, "../LICENSE")
37 if err != nil {
38 t.Fatal(err)
39 }
40
41 log.Println("Starting up...")
42 sender := startInstance(t, 1)
43 defer func() {
44 // We need a closure over sender, since we'll update it later to point
45 // at another process.
46 checkedStop(t, sender)
47 }()
48
49 receiver := startInstance(t, 2)
50 defer func() {
51 // We need a closure over sender, since we'll update it later to
52 // point at another process.
53 checkedStop(t, receiver)
54 }()
55
56 // Set rate limits
57 cfg, err := receiver.GetConfig()
58 if err != nil {
59 t.Fatal(err)
60 }
61 cfg.Options.MaxRecvKbps = 750
62 cfg.Options.MaxSendKbps = 750
63 cfg.Options.LimitBandwidthInLan = true
64 if err := receiver.PostConfig(cfg); err != nil {
65 t.Fatal(err)
66 }
67
68 sender.ResumeAll()
69 receiver.ResumeAll()
70
71 var prevBytes int
72 for {
73 recv, err := receiver.Model("default")
74 if err != nil {
75 t.Fatal(err)
76 }
77
78 if recv.InSyncBytes > 0 && recv.InSyncBytes == recv.GlobalBytes && rc.InSync("default", receiver, sender) {
79 // Receiver is done
80 break
81 } else if recv.InSyncBytes > prevBytes+recv.GlobalBytes/10 {
82 // Receiver has made progress
83 prevBytes = recv.InSyncBytes
84
85 if restartReceiver {

Calls 14

InSyncFunction · 0.92
removeAllFunction · 0.85
startInstanceFunction · 0.85
checkedStopFunction · 0.85
checkRemoteInSyncFunction · 0.85
FatalMethod · 0.80
GetConfigMethod · 0.80
PostConfigMethod · 0.80
ResumeAllMethod · 0.80
ModelMethod · 0.80
generateFilesFunction · 0.70
compareDirectoriesFunction · 0.70

Tested by

no test coverage detected