From e4852b7cc743eef7a08555bc623b40e69047de1d Mon Sep 17 00:00:00 2001 From: Christian Schmied Date: Mon, 28 Oct 2024 11:20:58 +0100 Subject: [PATCH 1/3] add error when matchedFolders is empty --- folderwatcher.go | 12 ++++++++++++ folderwatcher_notExistingFolder_test.go | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 folderwatcher_notExistingFolder_test.go diff --git a/folderwatcher.go b/folderwatcher.go index e454da3..6e4203f 100644 --- a/folderwatcher.go +++ b/folderwatcher.go @@ -1,6 +1,7 @@ package folderwatcher import ( + "fmt" "github.com/sirupsen/logrus" "os" "path/filepath" @@ -52,7 +53,18 @@ func NewFolderWatcher(conf Config, includeExisting bool, quit chan struct{}) (*F } } + if len(matchedFolders) == 0 { + return nil, fmt.Errorf("no folders found matching '%s'", conf.Folder) + } + for _, path := range matchedFolders { + stat, err := os.Stat(path) + if err != nil { + return nil, err + } + if !stat.IsDir() { + return nil, fmt.Errorf("%s is not a folder", path) + } err = watcher.Add(path) if err != nil { return nil, err diff --git a/folderwatcher_notExistingFolder_test.go b/folderwatcher_notExistingFolder_test.go new file mode 100644 index 0000000..8cbdce8 --- /dev/null +++ b/folderwatcher_notExistingFolder_test.go @@ -0,0 +1,22 @@ +package folderwatcher + +import ( + "os" + "testing" +) + +func TestNotExistingFolder(t *testing.T) { + tmpPath, err := os.MkdirTemp("", ".folderwatcher_test") + if err != nil { + t.Fatal(err) + } + _ = os.RemoveAll(tmpPath) + conf := Config{ + Folder: tmpPath, + } + + _, err = NewFolderWatcher(conf, true, nil) + if err == nil { + t.Fatal("expected error") + } +} From 7a8c27dc4efdb1b7c653dd138cf3dbf8f68060ce Mon Sep 17 00:00:00 2001 From: Christian Schmied Date: Tue, 29 Oct 2024 10:59:33 +0100 Subject: [PATCH 2/3] set debounce enqueue log to debug --- folderwatcher.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/folderwatcher.go b/folderwatcher.go index 6e4203f..73f0999 100644 --- a/folderwatcher.go +++ b/folderwatcher.go @@ -200,7 +200,7 @@ func (w *FolderWatcher) enqueue(f string) { } func (w *FolderWatcher) enqueueDebounce(f string) { - logger.Infof("Debounced Enqueue of %s", f) + logger.Debugf("Debounced Enqueue of %s", f) w.mutex.Lock() defer w.mutex.Unlock() From a0e3d487419939ad20d82846f7882ac38199e12f Mon Sep 17 00:00:00 2001 From: Christian Schmied Date: Thu, 14 Nov 2024 12:37:49 +0100 Subject: [PATCH 3/3] bump deps, use go 1.23.3 --- Jenkinsfile | 2 +- go.mod | 6 +++--- go.sum | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7b6efd5..cbb307f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,7 +8,7 @@ pipeline { agent { docker { - image 'docker.sportwanninger.de/infrastructure/golang-mingw:1.23.1' + image 'docker.sportwanninger.de/infrastructure/golang-mingw:1.23.3' args "${dindArgs()}" } } diff --git a/go.mod b/go.mod index 8ad4eda..8059258 100644 --- a/go.mod +++ b/go.mod @@ -1,10 +1,10 @@ module git.sportwanninger.de/go/folderwatcher -go 1.23.1 +go 1.23.3 require ( - github.com/fsnotify/fsnotify v1.7.0 + github.com/fsnotify/fsnotify v1.8.0 github.com/sirupsen/logrus v1.9.3 ) -require golang.org/x/sys v0.4.0 // indirect +require golang.org/x/sys v0.27.0 // indirect diff --git a/go.sum b/go.sum index f2cbafb..da3c7e2 100644 --- a/go.sum +++ b/go.sum @@ -1,8 +1,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= @@ -11,8 +11,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= +golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=