def setUp(self): dir = os.path.dirname(__file__) self.file = os.path.join(dir, 'watcher', 'test.txt') factory = Mock() factory.factory = MagicMock(return_value='return') self.watcher = CoverageWatcher(self.file, factory) self.detected = threading.Event() self.delete()
def add(self, view): """ Sets up a watcher for a newly opened view. """ if not config.watch_report: return # find coverage file for the view's file filename = view.file_name() if filename is None: return if not self.matcher.should_include(filename): debug_message("Ignoring excluded file '%s'" % filename) return coverage = self.coverage_finder.find(filename) # nothing can be done if the coverage file can't be found if not coverage: return # ensure a CoverageWatcher exists for the coverage file if not coverage in self.watchers: debug_message("Creating CoverageWatcher for " + coverage) self.watchers[coverage] = CoverageWatcher(coverage) else: debug_message("Found existing CoverageWatcher for " + coverage) watcher = self.watchers[coverage] # add callbacks as defined at construction time, also adding in # the relevant view as a parameter to the callback for event, callback in self.callbacks.items(): wrapped = self.prepare_callback(callback, view) watcher.add_callback(event, view.id(), wrapped) # start the watcher if it's not already running if not watcher.is_alive(): debug_message("Starting CoverageWatcher for " + coverage) watcher.start()