diff --git a/lib/config/config.go b/lib/config/config.go index 78d3fc32..b56a2c3d 100644 --- a/lib/config/config.go +++ b/lib/config/config.go @@ -363,6 +363,9 @@ func (cfg *Configuration) prepare(myID protocol.DeviceID) { // This way in the tests, we get away without OS specific separators // in the test configs. folder.RawPath = filepath.Dir(folder.RawPath + string(filepath.Separator)) + if folder.RawPath[len(folder.RawPath)-1] != filepath.Separator { + folder.RawPath = folder.RawPath + string(filepath.Separator) + } if folder.ID == "" { folder.ID = "default" diff --git a/lib/config/config_test.go b/lib/config/config_test.go index 626452f8..e17cb8a7 100644 --- a/lib/config/config_test.go +++ b/lib/config/config_test.go @@ -91,7 +91,7 @@ func TestDeviceConfig(t *testing.T) { expectedFolders := []FolderConfiguration{ { ID: "test", - RawPath: "testdata", + RawPath: "testdata" + string(filepath.Separator), Devices: []FolderDeviceConfiguration{{DeviceID: device1}, {DeviceID: device4}}, ReadOnly: true, RescanIntervalS: 600, @@ -326,7 +326,7 @@ func TestIssue1262(t *testing.T) { } actual := cfg.Folders()["test"].RawPath - expected := "e:" + expected := "e:/" if runtime.GOOS == "windows" { expected = `e:\` }