def test(self):
     wm = pyinotify.WatchManager()
     handler = asyncnotifier.SingleFileEventHandler(
         wm, None, utils.PathJoin(self.tmpdir, "nonexist"))
     self.assertRaises(errors.InotifyError, handler.enable)
     self.assertRaises(errors.InotifyError, handler.enable)
     handler.disable()
     self.assertRaises(errors.InotifyError, handler.enable)
Пример #2
0
def SetupFileWatcher(filename, cb):
    """Configures an inotify watcher for a file.

  @type filename: string
  @param filename: File to watch
  @type cb: callable
  @param cb: Function called on file change

  """
    wm = pyinotify.WatchManager()
    handler = FileEventHandler(wm, filename, cb)
    asyncnotifier.AsyncNotifier(wm, default_proc_fun=handler)
 def test(self):
   wm = pyinotify.WatchManager()
   handler = asyncnotifier.SingleFileEventHandler(wm, None,
                                                  utils.PathJoin(self.tmpdir,
                                                                 "nonexist"))
   logger = logging.getLogger('pyinotify')
   logger.disabled = True
   try:
     self.assertRaises(errors.InotifyError, handler.enable)
     self.assertRaises(errors.InotifyError, handler.enable)
     handler.disable()
     self.assertRaises(errors.InotifyError, handler.enable)
   finally:
     logger.disabled = False
 def setUp(self):
   testutils.GanetiTestCase.setUp(self)
   self.mainloop = daemon.Mainloop()
   self.chk_files = [self._CreateTempFile() for i in self.NOTIFIERS]
   self.notified = [False for i in self.NOTIFIERS]
   # We need one watch manager per notifier, as those contain the file
   # descriptor which is monitored by asyncore
   self.wms = [pyinotify.WatchManager() for i in self.NOTIFIERS]
   self.cbk = [self.OnInotifyCallback(self, i) for i in self.NOTIFIERS]
   self.ihandler = [asyncnotifier.SingleFileEventHandler(wm, cb, cf)
                    for (wm, cb, cf) in
                    zip(self.wms, self.cbk, self.chk_files)]
   self.notifiers = [_MyErrorLoggingAsyncNotifier(wm, ih)
                     for (wm, ih) in zip(self.wms, self.ihandler)]
   # TERM notifier is enabled by default, as we use it to get out of the loop
   self.ihandler[self.NOTIFIER_TERM].enable()