MCPcopy
hub / github.com/syncthing/syncthing / TestConflictsInitialMerge

Function TestConflictsInitialMerge

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

Source from the content-addressed store, hash-verified

198}
199
200func TestConflictsInitialMerge(t *testing.T) {
201 log.Println("Cleaning...")
202 err := removeAll("s1", "s2", "h1/index*", "h2/index*")
203 if err != nil {
204 t.Fatal(err)
205 }
206
207 err = os.Mkdir("s1", 0o755)
208 if err != nil {
209 t.Fatal(err)
210 }
211 err = os.Mkdir("s2", 0o755)
212 if err != nil {
213 t.Fatal(err)
214 }
215
216 // File 1 is a conflict
217
218 err = os.WriteFile("s1/file1", []byte("hello\n"), 0o644)
219 if err != nil {
220 t.Fatal(err)
221 }
222
223 err = os.WriteFile("s2/file1", []byte("goodbye\n"), 0o644)
224 if err != nil {
225 t.Fatal(err)
226 }
227
228 // File 2 exists on s1 only
229
230 err = os.WriteFile("s1/file2", []byte("hello\n"), 0o644)
231 if err != nil {
232 t.Fatal(err)
233 }
234
235 // File 3 exists on s2 only
236
237 err = os.WriteFile("s2/file3", []byte("goodbye\n"), 0o644)
238 if err != nil {
239 t.Fatal(err)
240 }
241
242 // Let them sync
243
244 sender := startInstance(t, 1)
245 defer checkedStop(t, sender)
246 receiver := startInstance(t, 2)
247 defer checkedStop(t, receiver)
248
249 sender.ResumeAll()
250 receiver.ResumeAll()
251
252 log.Println("Syncing...")
253
254 rc.AwaitSync("default", sender, receiver)
255
256 // Do it once more so the conflict copies propagate to both sides.
257

Callers

nothing calls this directly

Calls 9

AwaitSyncFunction · 0.92
removeAllFunction · 0.85
startInstanceFunction · 0.85
checkedStopFunction · 0.85
FatalMethod · 0.80
ResumeAllMethod · 0.80
RescanMethod · 0.80
MkdirMethod · 0.65
GlobMethod · 0.65

Tested by

no test coverage detected