Esempio n. 1
0
 def callback(pathnames, flags, ids, emitter=self):
     with emitter._lock:
         emitter.native_events = [
             _fsevents.NativeEvent(event_path, event_flags, event_id)
             for event_path, event_flags, event_id in zip(pathnames, flags, ids)
         ]
     emitter.queue_events(emitter.timeout)
Esempio n. 2
0
 def callback(pathnames, flags, ids, emitter=self):
     try:
         with emitter._lock:
             emitter.queue_events(emitter.timeout, [
                 _fsevents.NativeEvent(event_path, event_flags, event_id)
                 for event_path, event_flags, event_id in zip(pathnames, flags, ids)
             ])
     except Exception:
         logger.exception("Unhandled exception in fsevents callback")
Esempio n. 3
0
@pytest.fixture
def observer():
    obs = Observer()
    obs.start()
    yield obs
    obs.stop()
    try:
        obs.join()
    except RuntimeError:
        pass


@pytest.mark.parametrize('event,expectation', [
    # invalid flags
    (_fsevents.NativeEvent('', 0, 0, 0), False),
    # renamed
    (_fsevents.NativeEvent('', 0, 0x00000800, 0), False),
    # renamed, removed
    (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200, 0), True),
    # renamed, removed, created
    (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200 | 0x00000100, 0), True),
    # renamed, removed, created, itemfindermod
    (_fsevents.NativeEvent('', 0, 0x00000800 | 0x00000200 | 0x00000100 | 0x00002000, 0), True),
    # xattr, removed, modified, itemfindermod
    (_fsevents.NativeEvent('', 0, 0x00008000 | 0x00000200 | 0x00001000 | 0x00002000, 0), False),
])
def test_coalesced_event_check(event, expectation):
    assert event.is_coalesced == expectation