Adds a new folder state "Waiting to Sync" in the same vein as the existing "Waiting to Scan". This vastly improves performances in the rare cases when there are lots and lots of folders operating.
This commit is contained in:
@@ -86,8 +86,13 @@ func TestDefaultValues(t *testing.T) {
|
||||
|
||||
func TestDeviceConfig(t *testing.T) {
|
||||
for i := OldestHandledVersion; i <= CurrentVersion; i++ {
|
||||
cfgFile := fmt.Sprintf("testdata/v%d.xml", i)
|
||||
if _, err := os.Stat(cfgFile); os.IsNotExist(err) {
|
||||
continue
|
||||
}
|
||||
|
||||
os.RemoveAll(filepath.Join("testdata", DefaultMarkerName))
|
||||
wr, err := load(fmt.Sprintf("testdata/v%d.xml", i), device1)
|
||||
wr, err := load(cfgFile, device1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -1127,6 +1132,27 @@ func TestRemoveDeviceWithEmptyID(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestMaxConcurrentFolders(t *testing.T) {
|
||||
cases := []struct {
|
||||
input int
|
||||
output int
|
||||
}{
|
||||
{input: -42, output: 0},
|
||||
{input: -1, output: 0},
|
||||
{input: 0, output: runtime.GOMAXPROCS(-1)},
|
||||
{input: 1, output: 1},
|
||||
{input: 42, output: 42},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
opts := OptionsConfiguration{RawMaxFolderConcurrency: tc.input}
|
||||
res := opts.MaxFolderConcurrency()
|
||||
if res != tc.output {
|
||||
t.Errorf("Wrong MaxFolderConcurrency, %d => %d, expected %d", tc.input, res, tc.output)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// defaultConfigAsMap returns a valid default config as a JSON-decoded
|
||||
// map[string]interface{}. This is useful to override random elements and
|
||||
// re-encode into JSON.
|
||||
|
||||
Reference in New Issue
Block a user