lib/fs, lib/model: Rewrite RecvOnly tests (#6318)
During some other work I discovered these tests weren't great, so I've rewritten them to be a little better. The real changes here are: - Don't play games with not starting the folder and such, and don't construct a fake folder instance -- just use the one the model has. The folder starts and scans but the folder contents are empty at this point so that's fine. - Use a fakefs instead of a temp dir. - To support the above, implement a fakefs option `?content=true` to make the fakefs actually retain written content. Use sparingly, obviously, but it means the fakefs can usually be used instead of an on disk real directory.
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"github.com/syncthing/syncthing/lib/events"
|
||||
"github.com/syncthing/syncthing/lib/fs"
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
"github.com/syncthing/syncthing/lib/rand"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -86,6 +87,13 @@ func testFolderConfig(path string) config.FolderConfiguration {
|
||||
return cfg
|
||||
}
|
||||
|
||||
func testFolderConfigFake() config.FolderConfiguration {
|
||||
cfg := config.NewFolderConfiguration(myID, "default", "default", fs.FilesystemTypeFake, rand.String(32)+"?content=true")
|
||||
cfg.FSWatcherEnabled = false
|
||||
cfg.Devices = append(cfg.Devices, config.FolderDeviceConfiguration{DeviceID: device1})
|
||||
return cfg
|
||||
}
|
||||
|
||||
func setupModelWithConnection() (*model, *fakeConnection, config.FolderConfiguration) {
|
||||
w, fcfg := tmpDefaultWrapper()
|
||||
m, fc := setupModelWithConnectionFromWrapper(w)
|
||||
|
||||
Reference in New Issue
Block a user