File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -226,19 +226,28 @@ func (m *Manager) loadPlugins(directory string) error {
226226 return fmt .Errorf ("error while reading directory %s" , err )
227227 }
228228 for _ , f := range pluginFiles {
229- pluginPath := filepath .Join (directory , "./" , f .Name ())
229+ if f .IsDir () {
230+ continue
231+ }
232+
233+ name := f .Name ()
234+ if strings .HasPrefix (name , "." ) {
235+ continue
236+ }
237+
238+ pluginPath := filepath .Join (directory , "./" , name )
230239
231240 fmt .Println ("Loading plugin" , pluginPath )
232241 pRaw , err := plugin .Open (pluginPath )
233242 if err != nil {
234- return pluginFileLoadError {f . Name () , err }
243+ return pluginFileLoadError {name , err }
235244 }
236245 compatPlugin , err := compat .Wrap (pRaw )
237246 if err != nil {
238- return pluginFileLoadError {f . Name () , err }
247+ return pluginFileLoadError {name , err }
239248 }
240249 if err := m .LoadPlugin (compatPlugin ); err != nil {
241- return pluginFileLoadError {f . Name () , err }
250+ return pluginFileLoadError {name , err }
242251 }
243252 }
244253 return nil
Original file line number Diff line number Diff line change @@ -147,6 +147,20 @@ func (s *ManagerSuite) TestInitializePlugin_noOpIfEmpty() {
147147 assert .Nil (s .T (), s .manager .loadPlugins ("" ))
148148}
149149
150+ func (s * ManagerSuite ) TestInitializePlugin_noOpIfDotFile () {
151+ tmpDir := test .NewTmpDir ("gotify_testinitializeplugin_dotfile" )
152+ defer tmpDir .Clean ()
153+ os .Mkdir (tmpDir .Path (".test" ), 0755 )
154+ assert .Nil (s .T (), s .manager .loadPlugins (tmpDir .Path ()))
155+ }
156+
157+ func (s * ManagerSuite ) TestInitializePlugin_noOpIfSubDir () {
158+ tmpDir := test .NewTmpDir ("gotify_testinitializeplugin_subdir" )
159+ defer tmpDir .Clean ()
160+ os .Mkdir (tmpDir .Path ("subdir" ), 0755 )
161+ assert .Nil (s .T (), s .manager .loadPlugins (tmpDir .Path ()))
162+ }
163+
150164func (s * ManagerSuite ) TestInitializePlugin_directoryInvalid_expectError () {
151165 assert .Error (s .T (), s .manager .loadPlugins ("<<" ))
152166}
You can’t perform that action at this time.
0 commit comments