MCPcopy
hub / github.com/syncthing/syncthing / TestConflictsDefault

Function TestConflictsDefault

test/conflict_test.go:23–198  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

21)
22
23func TestConflictsDefault(t *testing.T) {
24 log.Println("Cleaning...")
25 err := removeAll("s1", "s2", "h1/index*", "h2/index*")
26 if err != nil {
27 t.Fatal(err)
28 }
29
30 log.Println("Generating files...")
31 err = generateFiles("s1", 100, 20, "../LICENSE")
32 if err != nil {
33 t.Fatal(err)
34 }
35
36 fd, err := os.Create("s1/testfile.txt")
37 if err != nil {
38 t.Fatal(err)
39 }
40 _, err = fd.WriteString("hello\n")
41 if err != nil {
42 t.Fatal(err)
43 }
44 err = fd.Close()
45 if err != nil {
46 t.Fatal(err)
47 }
48
49 expected, err := directoryContents("s1")
50 if err != nil {
51 t.Fatal(err)
52 }
53
54 sender := startInstance(t, 1)
55 defer checkedStop(t, sender)
56 receiver := startInstance(t, 2)
57 defer checkedStop(t, receiver)
58
59 sender.ResumeAll()
60 receiver.ResumeAll()
61
62 // Rescan with a delay on the next one, so we are not surprised by a
63 // sudden rescan while we're trying to introduce conflicts.
64
65 if err := sender.RescanDelay("default", 86400); err != nil {
66 t.Fatal(err)
67 }
68 if err := receiver.RescanDelay("default", 86400); err != nil {
69 t.Fatal(err)
70 }
71 rc.AwaitSync("default", sender, receiver)
72
73 log.Println("Verifying...")
74
75 actual, err := directoryContents("s2")
76 if err != nil {
77 t.Fatal(err)
78 }
79 err = compareDirectoryContents(actual, expected)
80 if err != nil {

Callers

nothing calls this directly

Calls 15

AwaitSyncFunction · 0.92
removeAllFunction · 0.85
directoryContentsFunction · 0.85
startInstanceFunction · 0.85
checkedStopFunction · 0.85
compareDirectoryContentsFunction · 0.85
FatalMethod · 0.80
ResumeAllMethod · 0.80
RescanDelayMethod · 0.80
PauseDeviceMethod · 0.80
ResumeDeviceMethod · 0.80
ContainsMethod · 0.80

Tested by

no test coverage detected