Skip to content

Commit 3453f36

Browse files
authored
Merge pull request #4270 from tybug/db-fix
Adjust db pubsub type hints and remove print
2 parents e75348d + 5622df5 commit 3453f36

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

hypothesis-python/RELEASE.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
RELEASE_TYPE: patch
2+
3+
Adjust type hints for the pub-sub database implementation in :ref:`version 6.126.0 <v6.126.0>`, and remove a remnant debug print in its implementation.

hypothesis-python/src/hypothesis/database.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,12 @@
5858
from watchdog.observers.api import BaseObserver
5959

6060
StrPathT: "TypeAlias" = Union[str, PathLike[str]]
61-
ListenerEventType: "TypeAlias" = Literal["save", "delete"]
6261
SaveDataT: "TypeAlias" = tuple[bytes, bytes] # key, value
6362
DeleteDataT: "TypeAlias" = tuple[bytes, Optional[bytes]] # key, value
64-
MoveDataT: "TypeAlias" = tuple[bytes, bytes, bytes] # src, dest, value
65-
ListenerDataT: "TypeAlias" = Union[SaveDataT, DeleteDataT, MoveDataT]
66-
ListenerT: "TypeAlias" = Callable[[tuple[ListenerEventType, ListenerDataT]], Any]
63+
ListenerEventT: "TypeAlias" = Union[
64+
tuple[Literal["save"], SaveDataT], tuple[Literal["delete"], DeleteDataT]
65+
]
66+
ListenerT: "TypeAlias" = Callable[[ListenerEventT], Any]
6767

6868

6969
def _usable_dir(path: StrPathT) -> bool:
@@ -204,7 +204,7 @@ def clear_listeners(self) -> None:
204204
if had_listeners:
205205
self._stop_listening()
206206

207-
def _broadcast_change(self, event: tuple[ListenerEventType, ListenerDataT]) -> None:
207+
def _broadcast_change(self, event: ListenerEventT) -> None:
208208
"""
209209
Called when a value has been either added to or deleted from a key in
210210
the underlying database store. event_type is one of "save" or "delete".
@@ -440,7 +440,6 @@ class Handler(FileSystemEventHandler):
440440
def on_created(
441441
_self, event: Union[FileCreatedEvent, DirCreatedEvent]
442442
) -> None:
443-
print("create", event)
444443
# we only registered for the file creation event
445444
assert not isinstance(event, DirCreatedEvent)
446445
# watchdog events are only bytes if we passed a byte path to
@@ -471,7 +470,6 @@ def on_created(
471470
def on_deleted(
472471
self, event: Union[FileDeletedEvent, DirDeletedEvent]
473472
) -> None:
474-
print("delete", event)
475473
assert not isinstance(event, DirDeletedEvent)
476474
assert isinstance(event.src_path, str)
477475

@@ -483,7 +481,6 @@ def on_deleted(
483481
_broadcast_change(("delete", (key, None)))
484482

485483
def on_moved(self, event: Union[FileMovedEvent, DirMovedEvent]) -> None:
486-
print("move", event)
487484
assert not isinstance(event, DirMovedEvent)
488485
assert isinstance(event.src_path, str)
489486
assert isinstance(event.dest_path, str)

hypothesis-python/tests/watchdog/test_database.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import time
1313
from collections import Counter
1414

15+
import pytest
16+
1517
from hypothesis import Phase, settings
1618
from hypothesis.database import (
1719
DirectoryBasedExampleDatabase,
@@ -77,6 +79,8 @@ def listener(event):
7779
}
7880

7981

82+
# TODO flaky failure on linux
83+
@pytest.mark.xfail(strict=False)
8084
def test_database_listener_directory_explicit(tmp_path):
8185
db = DirectoryBasedExampleDatabase(tmp_path)
8286
events = []

0 commit comments

Comments
 (0)