MCPcopy
hub / github.com/syncthing/syncthing / TestReset

Function TestReset

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

Source from the content-addressed store, hash-verified

21)
22
23func TestReset(t *testing.T) {
24 // Clean and start a syncthing instance
25
26 log.Println("Cleaning...")
27 err := removeAll("s1", "h1/index*")
28 if err != nil {
29 t.Fatal(err)
30 }
31 if err := os.Mkdir("s1", 0o755); err != nil {
32 t.Fatal(err)
33 }
34
35 log.Println("Creating files...")
36 size := createFiles(t)
37
38 p := startInstance(t, 1)
39 defer p.Stop() // Not checkedStop, because Syncthing will exit on its own
40
41 m, err := p.Model("default")
42 if err != nil {
43 t.Fatal(err)
44 }
45 expected := size
46 if m.LocalFiles != expected {
47 t.Fatalf("Incorrect number of files after initial scan, %d != %d", m.LocalFiles, expected)
48 }
49
50 // Clear all files but restore the folder marker
51 log.Println("Cleaning...")
52 err = removeAll("s1")
53 if err != nil {
54 t.Fatal(err)
55 }
56 if err := os.Mkdir("s1", 0o755); err != nil {
57 t.Fatal(err)
58 }
59 if fd, err := os.Create("s1/.stfolder"); err != nil {
60 t.Fatal(err)
61 } else {
62 fd.Close()
63 }
64
65 // Reset indexes of an invalid folder
66 log.Println("Reset invalid folder")
67 _, err = p.Post("/rest/system/reset?folder=invalid", nil)
68 if err == nil {
69 t.Fatalf("Cannot reset indexes of an invalid folder")
70 }
71
72 // Reset indexes of the default folder
73 log.Println("Reset indexes of default folder")
74 bs, err := p.Post("/rest/system/reset?folder=default", nil)
75 if err != nil && err != io.ErrUnexpectedEOF {
76 t.Fatalf("Failed to reset indexes (default): %v (%s)", err, bytes.TrimSpace(bs))
77 }
78
79 // ---- Syncthing exits here ----
80 select {

Callers

nothing calls this directly

Calls 13

removeAllFunction · 0.85
createFilesFunction · 0.85
startInstanceFunction · 0.85
checkedStopFunction · 0.85
FatalMethod · 0.80
ModelMethod · 0.80
StoppedMethod · 0.80
RescanMethod · 0.80
MkdirMethod · 0.65
CreateMethod · 0.65
CloseMethod · 0.65
PostMethod · 0.65

Tested by

no test coverage detected