lib/model: Merge add and start folder funcs and related refactor (#6594)

This commit is contained in:
Simon Frei
2020-05-06 08:34:54 +02:00
committed by GitHub
parent 4a8a8b294d
commit b5fc332782
5 changed files with 59 additions and 130 deletions
+9 -26
View File
@@ -410,10 +410,6 @@ func TestClusterConfig(t *testing.T) {
wrapper := createTmpWrapper(cfg)
m := newModel(wrapper, myID, "syncthing", "dev", db, nil)
m.ServeBackground()
for _, fcfg := range cfg.Folders {
m.removeFolder(fcfg)
m.addFolder(fcfg)
}
defer cleanupModel(m)
cm := m.generateClusterConfig(device2)
@@ -1460,16 +1456,7 @@ func TestIgnores(t *testing.T) {
m := setupModel(defaultCfgWrapper)
defer cleanupModel(m)
m.removeFolder(defaultFolderConfig)
m.addFolder(defaultFolderConfig)
// Reach in and update the ignore matcher to one that always does
// reloads when asked to, instead of checking file mtimes. This is
// because we will be changing the files on disk often enough that the
// mtimes will be unreliable to determine change status.
m.fmut.Lock()
m.folderIgnores["default"] = ignore.New(defaultFs, ignore.WithCache(true), ignore.WithChangeDetector(newAlwaysChanged()))
m.fmut.Unlock()
m.startFolder("default")
folderIgnoresAlwaysReload(m, defaultFolderConfig)
// Make sure the initial scan has finished (ScanFolders is blocking)
m.ScanFolders()
@@ -1492,7 +1479,13 @@ func TestIgnores(t *testing.T) {
}
// Invalid path, marker should be missing, hence returns an error.
m.addFolder(config.FolderConfiguration{ID: "fresh", Path: "XXX"})
fcfg := config.FolderConfiguration{ID: "fresh", Path: "XXX"}
ignores := ignore.New(fcfg.Filesystem(), ignore.WithCache(m.cacheIgnoredFiles))
m.fmut.Lock()
m.folderCfgs[fcfg.ID] = fcfg
m.folderIgnores[fcfg.ID] = ignores
m.fmut.Unlock()
_, _, err = m.GetIgnores("fresh")
if err == nil {
t.Error("No error")
@@ -1526,9 +1519,6 @@ func TestEmptyIgnores(t *testing.T) {
m := setupModel(defaultCfgWrapper)
defer cleanupModel(m)
m.removeFolder(defaultFolderConfig)
m.addFolder(defaultFolderConfig)
if err := m.SetIgnores("default", []string{}); err != nil {
t.Error(err)
}
@@ -1685,8 +1675,6 @@ func TestGlobalDirectoryTree(t *testing.T) {
db := db.NewLowlevel(backend.OpenMemory())
m := newModel(defaultCfgWrapper, myID, "syncthing", "dev", db, nil)
m.ServeBackground()
m.removeFolder(defaultFolderConfig)
m.addFolder(defaultFolderConfig)
defer cleanupModel(m)
b := func(isfile bool, path ...string) protocol.FileInfo {
@@ -1938,8 +1926,6 @@ func TestGlobalDirectorySelfFixing(t *testing.T) {
db := db.NewLowlevel(backend.OpenMemory())
m := newModel(defaultCfgWrapper, myID, "syncthing", "dev", db, nil)
m.ServeBackground()
m.removeFolder(defaultFolderConfig)
m.addFolder(defaultFolderConfig)
defer cleanupModel(m)
b := func(isfile bool, path ...string) protocol.FileInfo {
@@ -2115,8 +2101,6 @@ func benchmarkTree(b *testing.B, n1, n2 int) {
db := db.NewLowlevel(backend.OpenMemory())
m := newModel(defaultCfgWrapper, myID, "syncthing", "dev", db, nil)
m.ServeBackground()
m.removeFolder(defaultFolderConfig)
m.addFolder(defaultFolderConfig)
defer cleanupModel(m)
m.ScanFolder("default")
@@ -2313,8 +2297,7 @@ func TestIndexesForUnknownDevicesDropped(t *testing.T) {
}
m := newModel(defaultCfgWrapper, myID, "syncthing", "dev", dbi, nil)
m.addFolder(defaultFolderConfig)
m.startFolder("default")
m.newFolder(defaultFolderConfig)
defer cleanupModel(m)
// Remote sequence is cached, hence need to recreated.