mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-23 03:18:59 +00:00
Instead of panicking when we try to look closer at the empty pattern, return something like `invalid pattern "(?d)" in ignore file: missing pattern`.
This commit is contained in:
parent
ac3879e2b0
commit
e0d4cdc9a3
@ -422,6 +422,10 @@ func parseLine(line string) ([]Pattern, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if line == "" {
|
||||||
|
return nil, errors.New("missing pattern")
|
||||||
|
}
|
||||||
|
|
||||||
if pattern.result.IsCaseFolded() {
|
if pattern.result.IsCaseFolded() {
|
||||||
line = strings.ToLower(line)
|
line = strings.ToLower(line)
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -1150,3 +1151,20 @@ func TestSkipIgnoredDirs(t *testing.T) {
|
|||||||
t.Error("SkipIgnoredDirs should be true")
|
t.Error("SkipIgnoredDirs should be true")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEmptyPatterns(t *testing.T) {
|
||||||
|
// These patterns are all invalid and should be rejected as such (without panicking...)
|
||||||
|
tcs := []string{
|
||||||
|
"!",
|
||||||
|
"(?d)",
|
||||||
|
"(?i)",
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tc := range tcs {
|
||||||
|
m := New(fs.NewFilesystem(fs.FilesystemTypeFake, ""))
|
||||||
|
err := m.Parse(strings.NewReader(tc), ".stignore")
|
||||||
|
if err == nil {
|
||||||
|
t.Error("Should reject invalid pattern", tc)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user