MCPcopy
hub / github.com/syncthing/syncthing / TestScanSubdir

Function TestScanSubdir

test/scan_test.go:20–194  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestScanSubdir(t *testing.T) {
21 log.Println("Cleaning...")
22 err := removeAll("s1", "s2", "h1/index*", "h2/index*")
23 if err != nil {
24 t.Fatal(err)
25 }
26
27 log.Println("Generating files...")
28 err = generateFiles("s1", 10, 10, "../LICENSE")
29 if err != nil {
30 t.Fatal(err)
31 }
32
33 // 1. Scan a single file in a known directory "file1.txt"
34 // 2. Scan a single file in an unknown directory "filetest/file1.txt"
35 // 3. Scan a single file in a deep unknown directory "filetest/1/2/3/4/5/6/7/file1.txt"
36 // 4. Scan a directory in a deep unknown directory "dirtest/1/2/3/4/5/6/7"
37 // 5. Scan a deleted file in a known directory "filetest/file1.txt"
38 // 6. Scan a deleted file in a deep unknown directory "rmdirtest/1/2/3/4/5/6/7"
39 // 7. 'Accidentally' forget to scan 1 of the 2 files in a known directory
40
41 // Verify that the files and directories sync to the other side
42 sender := startInstance(t, 1)
43 defer checkedStop(t, sender)
44
45 receiver := startInstance(t, 2)
46 defer checkedStop(t, receiver)
47
48 sender.ResumeAll()
49 receiver.ResumeAll()
50
51 log.Println("Syncing...")
52 rc.AwaitSync("default", sender, receiver)
53
54 // Delay scans for the moment
55 if err := sender.RescanDelay("default", 86400); err != nil {
56 t.Fatal(err)
57 }
58
59 log.Println("Comparing directories...")
60 err = compareDirectories("s1", "s2")
61 if err != nil {
62 t.Fatal(err)
63 }
64
65 // 1
66 log.Println("Creating new file...")
67 if fd, err := os.Create("s1/file1.txt"); err != nil {
68 t.Fatal(err)
69 } else {
70 fd.Close()
71 }
72 if err := sender.RescanSub("default", "file1.txt", 86400); err != nil {
73 t.Fatal(err)
74 }
75 log.Println("Syncing...")
76 rc.AwaitSync("default", sender, receiver)
77 log.Println("Comparing directories...")

Callers

nothing calls this directly

Calls 14

AwaitSyncFunction · 0.92
removeAllFunction · 0.85
startInstanceFunction · 0.85
checkedStopFunction · 0.85
FatalMethod · 0.80
ResumeAllMethod · 0.80
RescanDelayMethod · 0.80
RescanSubMethod · 0.80
generateFilesFunction · 0.70
compareDirectoriesFunction · 0.70
CreateMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected